Použitie PHP kódu a $LayoutHTML v bluetronix CMS
S prístupom pre vývojárov môžeš sám upravovať PHP kód svojich stránok CMS. V tomto návode sa dozvieš, ako vykonávať PHP príkazy, meniť HTML obsah cez $LayoutHTML a používať vlastné funkcie ako aj integrované funkcie CMS.
Vlastný PHP kód v bluetronix CMS
S prístupom pre vývojárov môžeš použiť vlastný PHP kód v rámci CMS stránky. HTML kód stránky a tvoj PHP kód pracujú spolu. Centrálnu úlohu zohráva premenná $LayoutHTML: Obsahuje počas procesu generovania stránky HTML kód aktuálne vytvorenej stránky. Pomocou PHP môžeš v ňom hľadať, meniť a nahrádzať obsah.
Na vlastný PHP kód potrebuješ prístup pre vývojárov do bluetronix CMS. Ak ešte nemáš prístup pre vývojárov, môžeš si ho samostatne požiadať.
Otvoriť PHP kód stránky
Na požadovanej stránke otvorte PHP kód pre úpravu PHP kódu stránky.
Nepoužívať ďalšie PHP tagy
PHP kód už CMS vykonáva ako PHP kód. Preto nesmieš v PHP editore používať ďalšie PHP tagy. Tento zápis nie je tam potrebný:
<?php print "Hello World"; ?>
Namiesto toho píš svoju PHP inštrukciu priamo:
print "Hello World";
Ukončiť vykonávanie PHP prostredníctvom exit
Na testovanie môžeš zadať nasledujúce inštrukcie, uložiť a následne stránku znova načítať:
print "Hello World";
exit();

V tomto príklade sa zobrazuje iba Hello World. Pomocou exit(); ukončuješ vykonávanie PHP na tomto mieste.
Pomocou exit(); sa ukončuje aj ďalší proces generovania stránok v CMS. Hlavička, skutočný obsah stránky, päta a nasledujúce spracovacie kroky sa viac nebudú vykonávať.
PHP výstup v rámci normálnej stránky
Ak odstrániš exit(); a použiješ iba nasledujúcu inštrukciu, proces generovania bude pokračovať normálne:
print "Hello World";

PHP najprv vypíše Hello World. Potom sa skutočná CMS stránka ďalej generuje, vrátane hlavičky, obsahu stránky a pätky. Pre zmeny priamo v HTML stránke by si však mal čo najviac pracovať s $LayoutHTML.
HTML a PHP upravovať oddelene
V bluetronix CMS môžeš samostatne udržiavať HTML kód a PHP kód stránky. Tak zostáva HTML štruktúra v editore upraviteľná, zatiaľ čo programová logika je uložená v PHP oblasti.
Definovať vlastné zástupné symboly v HTML
Definuj v HTML kóde zástupný znak, ktorý tvoj PHP kód neskôr nahradí. Jednoduchý príklad vyzerá takto:
__MyText__
Pre vlastné zástupné znaky používaj anglické názvy, aj na nemecky hovoriacich webových stránkach. Tým sa zachová medzinárodne zrozumiteľné a jednotné pomenovanie.
Ďalšie možné označenia sú:
__CustomerName__
__ProductPrice__
__CurrentDate__
Nahradiť zástupné symboly pomocou $LayoutHTML
S str_replace() môžeš vyhľadávať zástupný znak v aktuálnom HTML kóde a nahradiť ho požadovaným obsahom:
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
CMS týmto spôsobom vyhľadáva v $LayoutHTML __MyText__ a nahrádza zástupný znak Moji text.
Kombinovať HTML a zástupné symboly
Zástupný znak môžeš používať v rámci svojej normálnej HTML štruktúry. Napríklad, vlož nasledujúci kód do HTML sekcie:
<h1>__MyText__</h1>
V PHP sekcii doplň nahradenie:
$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);
Počas procesu renderovania vznikne:
<h1>Meine Überschrift</h1>
Viacero zástupných symbolov v jednom sekcii stránky
To isté princíp funguje aj v rozsiahlejších HTML oblastiach. Napríklad, môžeš oddelene definovať nadpis a popis ako zástupné znaky:
<section>
<div class="container">
<h2>__MyHeadline__</h2>
<p>__MyDescription__</p>
</div>
</section>
V PHP kóde nastavíš obsah oba nezávisle:
$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);
Hotový HTML kód potom obsahuje vložené texty namiesto oboch zástupných znakov:
<section>
<div class="container">
<h2>Unsere Leistungen</h2>
<p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
</div>
</section>
HTML štruktúru a PHP logiku čo najviac oddeliť
Technicky môžeš celé HTML štruktúry priamo implementovať do $LayoutHTML pomocou PHP:
$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);
Pre väčšie obsahy je však rozumné nechať HTML ako editovateľnú štruktúru v HTML oblasti a pracovať so zástupnými znakmi. Príklad HTML kódu:
<section>
<h2>__MyHeadline__</h2>
<p>__MyText__</p>
</section>
Pridružený PHP kód nahrádza len potrebné hodnoty:
$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
Konečný zákazník môže cez normálny CMS editor meniť okraje, upravovať nadpisy, presúvať HTML oblasti, prispôsobovať dizajn a upravovať sekcie stránok, bez nutnosti meniť PHP logiku.
Definovať vlastné PHP funkcie
V rámci PHP kódu môžeš vytvárať vlastné funkcie. Napríklad:
function MyExampleFunction() {
return "Hello World";
}
Dávaj pozor, aby sa funkcia počas jedného volania stránky nedefinovala viackrát. To sa môže stať, ak sa ten istý názov funkcie vyskytuje súčasne na hlavnej stránke, v hlavičke, v pripojenom module, v sekcii stránky alebo v pätičke.
Pre vlastné PHP funkcie vyber čo najvyššie jednoznačné názvy. Dvojitá definícia funkcie v PHP vedie k chybe.
Názov funkcie špecifický pre projekt môže vyzerať takto:
function MyProjectCreateCustomerText() {
return "Customer";
}
Pred definovaním funkcie skontrolovať existujúce funkcie
Alternatívne môžeš pomocou function_exists() skontrolovať, či už bola daná funkcia definovaná:
if(!function_exists("MyProjectCreateCustomerText")) {
function MyProjectCreateCustomerText() {
return "Customer";
}
}
Použiť bluetronix PHP funkcie
V oblasti PHP kódu môžeš tiež použiť PHP funkcie, ktoré poskytuje bluetronix CMS. Príkladom je posielanie e-mailov cez SMTP systém bluetronix s BlueSMTPMail():
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);
Potrebné parametre môžeš nastaviť vo svojom PHP kóde, napríklad:
$From = "info@example.com";
$To = "customer@example.com";
$Subject = "Test E-Mail";
$TextContent = "Hello World";
Následne môžeš použiť centrálnu funkciu na posielanie e-mailov. Pre úplné volanie musia byť nastavené aj ďalšie potrebné parametre. Takto nemusíš znova programovať základné CMS funkcie ako SMTP posielanie.
Zhrnutie
Vlastný PHP kód je vykonávaný bluetronix CMS priamo; dodatočné PHP značky nie sú v PHP Code editore potrebné. $LayoutHTML obsahuje HTML kód aktuálne generovanej stránky a umožňuje ti nahradiť vlastné zástupné znaky dynamickým obsahom.
Svoje HTML štruktúry vytvor čo najčastejšie v HTML oblasti a nahrď zástupné znaky pomocou PHP. Tým môže koncový používateľ neskôr stále upravovať rozloženie prostredníctvom normálneho CMS editora, zatiaľ čo programová logika zostáva oddelená.
Často kladené otázky
čo sa nás zákazníci často pýtajú
Potrebujem prístup pre vývojárov na vlastný PHP kód?
Áno. Na použitie vlastného PHP kódu v rámci stránky CMS potrebuješ prístup pre vývojárov do bluetronix CMS.
Kde nájdem PHP kód príkladu?
Otvor stránku príkladu pod Modulmi → PHP Príklad a vyber si PHP Kód.
Musím v PHP editore zadať <?php a ?>?
Nie. Editor už vykonáva zadané príkazy ako PHP kód. Príkazy píšeš priamo, napríklad print "Ahoj svet";.
Čo sa stane, ak použijem exit;?
exit; ukončí vykonávanie PHP v tomto mieste. Tým sa zastaví aj proces vykresľovania stránky CMS; hlavička, obsah stránky a päta sa následne už nevytvárajú.
Na čo slúži $LayoutHTML?
$LayoutHTML obsahuje počas procesu vykresľovania HTML kód aktuálne generovanej stránky. V PHP v ňom môžeš vyhľadávať obsahy a napríklad cez str_replace() nahradiť vlastné zástupné symboly.
Ako vložím dynamické obsahy do HTML?
Do HTML kódu napríklad vlož __MyText__ a nahradíš tento zástupný symbol v PHP kóde cez str_replace() v rámci $LayoutHTML.
Môžem kombinovať PHP zástupné symboly s automatickým prekladom?
Áno. Môžeš používať PHP zástupné symboly a prekladové značky ako Naše služby spoločne. Preklad prebehne neskôr počas procesu vykresľovania.
Prečo by som mal oddeliť HTML a PHP?
Takto môže koncový zákazník neskôr upravovať HTML rozloženie pomocou bežného editora, zatiaľ čo programová logika ostáva oddelená v oblasti PHP.
Ako sa vyhnem duplicitne definovaným PHP funkciám?
Používaj jedinečné názvy funkcií. Môžeš navyše pred definíciou skontrolovať s function_exists(), či funkcia už existuje.
Môžem použiť existujúce bluetronix PHP funkcie?
Áno. V oblasti PHP kódu sú dostupné aj funkcie CMS, napríklad BlueSMTPMail() na odosielanie e-mailov. Potrebné parametre musíš nastaviť podľa potreby.