PHP कोड और $LayoutHTML का उपयोग bluetronix CMS में करें
डेवलपर एक्सेस के साथ, आप अपने CMS पृष्ठों का PHP कोड स्वयं संपादित कर सकते हैं। इस ट्यूटोरियल में, आप यह जानेंगे कि PHP निर्देशों को कैसे निष्पादित करें, $LayoutHTML के माध्यम से HTML सामग्री को कैसे परिवर्तित करें और अपनी स्वयं की कार्यक्षमताओं के साथ-साथ अंतर्निहित CMS कार्यक्षमताओं का उपयोग कैसे करें।
ब्लूट्रॉनिक्स CMS में अपनी PHP कोड
एक डेवलपर एक्सेस के साथ, आप CMS पृष्ठ के भीतर अपनी PHP कोड का उपयोग कर सकते हैं। इस दौरान पृष्ठ का HTML कोड और आपका PHP कोड एक साथ काम करते हैं। एक केंद्रीय भूमिका है $LayoutHTML: यह साइट-रेंडरिंग प्रक्रिया के दौरान वर्तमान में उत्पन्न पृष्ठ का HTML कोड रखता है। PHP के साथ, आप इसमें सामग्री की खोज, परिवर्तन, और प्रतिस्थापन कर सकते हैं।
अपनी PHP कोड के लिए आपको ब्लूट्रॉनिक्स CMS का डेवलपर एक्सेस चाहिए। यदि आपके पास अभी तक डेवलपर एक्सेस नहीं है, तो आप इसे अलग से आवेदन कर सकते हैं।
एक पृष्ठ का PHP कोड खोलें
इच्छित पृष्ठ पर PHP कोड खोलें, ताकि आप पृष्ठ के PHP कोड को संपादित कर सकें।
कोई अतिरिक्त PHP टैग का उपयोग न करें
PHP कोड पहले से ही CMS द्वारा PHP कोड के रूप में निष्पादित होता है। इसलिए, आप PHP कोड संपादक में कोई अतिरिक्त PHP टैग का उपयोग नहीं कर सकते। यह लेखन यहाँ आवश्यक नहीं है:
<?php print "Hello World"; ?>
इसके बजाय, अपने PHP स्टेटमेंट को सीधे लिखें:
print "Hello World";
PHP निष्पादन को exit के साथ समाप्त करें
परीक्षण के लिए, आप निम्नलिखित स्टेटमेंट दर्ज कर सकते हैं, सहेजें और फिर पृष्ठ को फिर से लोड करें:
print "Hello World";
exit();

इस उदाहरण में केवल Hello World प्रदर्शित होता है। exit(); के साथ, आप इस स्थान पर PHP निष्पादन को समाप्त करते हैं।
exit(); के माध्यम से, CMS साइट-रेंडरिंग प्रक्रिया भी समाप्त हो जाती है। हेडर, वास्तविक पृष्ठ सामग्री, फूटर और बाद की प्रक्रिया कदम अब निष्पादित नहीं होंगे।
सामान्य पृष्ठ के भीतर PHP आउटपुट
यदि आप exit(); को हटा देते हैं और केवल निम्नलिखित स्टेटमेंट का उपयोग करते हैं, तो रेंडरिंग प्रक्रिया सामान्य रूप से आगे बढ़ती है:
print "Hello World";

PHP पहले Hello World को आउटपुट करता है। इसके बाद, वास्तविक CMS पृष्ठ आगे उत्पन्न होता है, जिसमें हेडर, पृष्ठ सामग्री और फूटर शामिल हैं। हालाँकि, HTML पृष्ठ के भीतर प्रत्यक्ष परिवर्तनों के लिए आपको यथासंभव $LayoutHTML के साथ काम करना चाहिए।
HTML और PHP को अलग से संपादित करें
ब्लूट्रॉनिक्स CMS में, आप एक पृष्ठ का HTML कोड और PHP कोड अलग-अलग रख सकते हैं। इस प्रकार, संपादक में HTML संरचना को संपादित करने में सक्षम रहती है, जबकि आप PHP क्षेत्र में प्रोग्राम लॉजिक रखते हैं।
HTML में अपनी प्लेसहोल्डर परिभाषित करें
HTML कोड में एक स्थान धारक परिभाषित करें, जिसे आपका PHP कोड बाद में बदल देगा। एक सरल उदाहरण है:
__MyText__
अपने स्थान धारकों के लिए अंग्रेजी नामों का उपयोग करें, यहां तक कि जर्मन भाषी वेबसाइटों पर भी। इससे नामकरण अंतरराष्ट्रीय रूप से स्पष्ट और समान रहता है।
अन्य संभावित नाम हैं:
__CustomerName__
__ProductPrice__
__CurrentDate__
प्लेसहोल्डर को $LayoutHTML से बदलें
str_replace() के साथ आप वर्तमान HTML कोड में स्थान धारक को ढूंढ सकते हैं और इसे अपनी इच्छित सामग्री से बदल सकते हैं:
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
CMS $LayoutHTML में __MyText__ को खोजता है और स्थान धारक को Mein Text से बदलता है।
HTML और प्लेसहोल्डर को मिलाएं
आप सामान्य HTML संरचना के भीतर स्थान धारक का उपयोग कर सकते हैं। उदाहरण के लिए, HTML क्षेत्र में निम्नलिखित कोड डालें:
<h1>__MyText__</h1>
PHP क्षेत्र में आप प्रतिस्थापन जोड़ते हैं:
$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);
रेंडरिंग प्रक्रिया के दौरान यह बनता है:
<h1>Meine Überschrift</h1>
एक पृष्ठ अनुभाग में कई प्लेसहोल्डर
यहां तक कि बड़े HTML क्षेत्रों में वही सिद्धांत काम करता है। आप उदाहरण के लिए शीर्षक और विवरण को अलग-अलग स्थान धारक के रूप में परिभाषित कर सकते हैं:
<section>
<div class="container">
<h2>__MyHeadline__</h2>
<p>__MyDescription__</p>
</div>
</section>
PHP कोड में आप दोनों सामग्री को स्वतंत्र रूप से सेट कर सकते हैं:
$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);
फाइनल HTML कोड तब दोनों स्थान धारकों के बजाय डाले गए पाठ को शामिल करता है:
<section>
<div class="container">
<h2>Unsere Leistungen</h2>
<p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
</div>
</section>
HTML संरचना और PHP लॉजिक को यथासंभव अलग करें
तकनीकी रूप से, आप पूरी HTML संरचनाओं को सीधे PHP में $LayoutHTML में डाल सकते हैं:
$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);
हालांकि, बड़े सामग्री के लिए HTML को संपादित करने योग्य संरचना के रूप में HTML क्षेत्र में बनाए रखना और स्थान धारकों के साथ काम करना उपयुक्त है। HTML कोड का उदाहरण:
<section>
<h2>__MyHeadline__</h2>
<p>__MyText__</p>
</section>
संबंधित PHP कोड केवल आवश्यक मानों को बदलता है:
$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
इससे अंतिम ग्राहक सामान्य CMS संपादक के माध्यम से स्पेस बदलने, शीर्षकों को संपादित करने, HTML क्षेत्रों को स्थानांतरित करने, डिज़ाइन को समायोजित करने और पृष्ठ खंडों को संपादित करने में सक्षम होता है, बिना PHP प्रोग्राम लॉजिक को बदले।
अपनी PHP फ़ंक्शन परिभाषित करें
PHP कोड के भीतर आप अपनी खुद की कार्यविधियां बना सकते हैं। उदाहरण के लिए:
function MyExampleFunction() {
return "Hello World";
}
इस बात का ध्यान रखें कि एक कार्य एक पृष्ठ कॉल के दौरान कई बार परिभाषित नहीं होना चाहिए। यह तब हो सकता है जब उसी कार्य का नाम मुख्य पृष्ठ, हेडर, किसी समाहित मॉड्यूल, पृष्ठ अनुभाग या फुटर में एक साथ दिखाई दे।
अपनी खुद की PHP कार्यविधियों के लिए संभावित रूप से स्पष्ट नाम चुनें। डुप्लीकट कार्यविधि परिभाषा PHP में एक त्रुटि का कारण बनती है।
एक परियोजना विशिष्ट कार्यविधि का नाम इस तरह दिखाई दे सकता है:
function MyProjectCreateCustomerText() {
return "Customer";
}
फ़ंक्शन परिभाषा से पहले मौजूदा फ़ंक्शनों की जांच करें
आप function_exists() का उपयोग करके भी जांच कर सकते हैं कि संबंधित कार्य पहले से परिभाषित की गई है या नहीं:
if(!function_exists("MyProjectCreateCustomerText")) {
function MyProjectCreateCustomerText() {
return "Customer";
}
}
ब्लूट्रॉनिक्स PHP फ़ंक्शन का उपयोग करें
PHP कोड क्षेत्र में आप ब्लूट्रोनिक्स CMS द्वारा प्रदान की गई PHP कार्यविधियों का भी उपयोग कर सकते हैं। एक उदाहरण यह है कि ई-मेल भेजना ब्लूट्रोनिक्स SMTP प्रणाली के माध्यम से BlueSMTPMail() का उपयोग करके:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);
आप आवश्यक पैरामीटर अपने PHP कोड के भीतर सेट कर सकते हैं, उदाहरण के लिए:
$From = "info@example.com";
$To = "customer@example.com";
$Subject = "Test E-Mail";
$TextContent = "Hello World";
इसके बाद आप ई-मेल भेजने के लिए केंद्रीय कार्यविधि का उपयोग कर सकते हैं। संपूर्ण कॉल के लिए अन्य आवश्यक पैरामीटर भी उपयुक्त रूप से सेट होने चाहिए। इस तरह आपको SMTP भेजने जैसी बुनियादी CMS कार्यविधियों को फिर से स्वयं प्रोग्राम करने की आवश्यकता नहीं है।
सारांश
अपना PHP कोड ब्लूट्रोनिक्स CMS द्वारा सीधे निष्पादित किया जाता है; PHP Code संपादक में अतिरिक्त PHP टैग आवश्यक नहीं हैं। $LayoutHTML वर्तमान में निर्मित पृष्ठ के HTML कोड को शामिल करता है और आपको अपने स्थान धारकों को गतिशील सामग्री के साथ बदलने की अनुमति देता है।
अपनी HTML संरचना को संभवतः HTML क्षेत्र में बनाएँ और PHP के माध्यम से स्थान धारकों को बदलें। इस प्रकार अंतिम ग्राहक बाद में सामान्य CMS संपादक के साथ लेआउट को संपादित कर सकता है, जबकि प्रोग्राम लॉजिक अलग रहता है.
बहुत पूछे जाने वाले प्रश्न
ग्राहक अक्सर हमसे क्या पूछते हैं
क्या मुझे अपने PHP कोड के लिए डेवलपर एक्सेस की आवश्यकता है?
हाँ। CMS पृष्ठ के भीतर अपने PHP कोड का उपयोग करने के लिए, आपको bluetronix CMS के लिए डेवलपर एक्सेस की आवश्यकता है।
उदाहरण का PHP कोड कहाँ मिलेगा?
Modules → PHP Example के तहत उदाहरण पृष्ठ खोलें और PHP कोड चुनें।
क्या मुझे PHP कोड संपादक में <?php और ?> दर्ज करना होगा?
नहीं। संपादक पहले से ही संग्रहित निर्देशों को PHP कोड के रूप में निष्पादित करता है। आप अपने निर्देश सीधे लिखते हैं, उदाहरण के लिए print "Hello World";।
अगर मैं exit; का उपयोग करूँ तो क्या होगा?
exit; इस बिंदु पर PHP निष्पादन को समाप्त कर देगा। इससे CMS साइट रेंडरिंग प्रक्रिया भी रुक जाएगी; हेडर, पृष्ठ सामग्री और फुटर अब उत्पन्न नहीं होंगे।
$LayoutHTML का उपयोग किसलिए किया जाता है?
$LayoutHTML रेंडरिंग प्रक्रिया के दौरान वर्तमान उत्पन्न पृष्ठ का HTML कोड शामिल करता है। PHP के साथ, आप इसमें सामग्री खोज सकते हैं और उदाहरण के लिए str_replace() के माध्यम से अपने प्लेसहोल्डर्स को बदल सकते हैं।
मैं अपने HTML में गतिशील सामग्री कैसे जोड़ूं?
HTML कोड में उदाहरण के लिए __MyText__ डालें और इस प्लेसहोल्डर को $LayoutHTML के भीतर PHP कोड में str_replace() के साथ बदलें।
क्या मैं PHP प्लेसहोल्डर्स को स्वचालित अनुवाद के साथ मिला सकता हूँ?
हाँ। आप PHP प्लेसहोल्डर्स और अनुवादित मार्कर जैसे Our Services का संयोजन कर सकते हैं। अनुवाद बाद में रेंडरिंग प्रक्रिया के दौरान किया जाएगा।
मुझे HTML और PHP को अलग क्यों रखना चाहिए?
इससे अंतिम ग्राहक HTML लेआउट को बाद में सामान्य संपादक के साथ संपादित कर सकता है, जबकि प्रोग्रामिंग लॉजिक PHP क्षेत्र में अलग रहता है।
मैं डुप्लीकेट PHP फ़ंक्शन से कैसे बचूँ?
विशिष्ट फ़ंक्शन नामों का प्रयोग करें। आप एक परिभाषा से पहले function_exists() का उपयोग करके यह भी जांच सकते हैं कि क्या कोई फ़ंक्शन पहले से मौजूद है।
क्या मैं मौजूदा bluetronix PHP फ़ंक्शन का उपयोग कर सकता हूँ?
हाँ। PHP कोड क्षेत्र में CMS फ़ंक्शन भी उपलब्ध हैं, उदाहरण के लिए ई-मेल भेजने के लिए BlueSMTPMail()। आवश्यक पैरामीटर को आपको उचित रूप से सेट करना होगा।