Používání PHP kódu a $LayoutHTML v CMS bluetronix
S vývojářským přístupem můžeš sám upravit PHP kód svých CMS stránek. V tomto tutorialu se dozvíš, jak provádět PHP příkazy, měnit HTML obsah pomocí $LayoutHTML a používat vlastní funkce a integrované funkce CMS.
Vlastní PHP kód v bluetronix CMS
S přístupem pro vývojáře můžete použít vlastní PHP kód uvnitř stránky CMS. HTML kód stránky a váš PHP kód spolupracují. Centrální roli hraje proměnná $LayoutHTML: Během procesu vykreslování stránek obsahuje HTML kód aktuálně generované stránky. S PHP v ní můžete vyhledávat, měnit a nahrazovat obsah.
Pro vlastní PHP kód potřebujete přístup pro vývojáře k bluetronix CMS. Pokud ještě nemáte přístup pro vývojáře, můžete si ho zažádat zvlášť.
Otevřít PHP kód stránky
Otevřete na požadované stránce PHP kód, abyste upravili PHP kód stránky.
Nepoužívejte žádné další PHP tagy
PHP kód je již vykonáván CMS jako PHP kód. Proto v editoru PHP kódu nesmíte používat žádné další PHP tagy. Tento zápis tam není potřebný:
<?php print "Hello World"; ?>
Napište svůj PHP příkaz přímo:
print "Hello World";
Ukončete provádění PHP s exit
Pro testování můžete zadat následující příkazy, uložit a poté stránku znovu načíst:
print "Hello World";
exit();

V tomto příkladu bude zobrazeno pouze Hello World. Pomocí exit(); ukončíte provádění PHP na tomto místě.
Pomocí exit(); se také ukončí další proces vykreslování CMS stránky. Hlavička, samotný obsah stránky, zápatí a následující zpracování již nebudou prováděny.
PHP výstup uvnitř normální stránky
Pokud odstraníte exit(); a použijete pouze následující příkaz, poběží proces vykreslování normálně dál:
print "Hello World";

PHP nejprve vrátí Hello World. Poté se pokračuje v generování samotné stránky CMS, včetně hlavičky, obsahu stránky a zápatí. Pro změny přímo uvnitř HTML stránky byste však měli co nejvíce pracovat s $LayoutHTML.
Odděleně upravujte HTML a PHP
V bluetronix CMS můžete udržovat HTML kód a PHP kód stránky odděleně. Tím zůstanou struktura HTML v editoru upravitelná, zatímco programová logika je uložena v oblasti PHP.
Definujte vlastní zástupné symboly v HTML
Definujte v HTML kódu zástupný symbol, který váš PHP kód později nahradí. Jednoduchý příklad vypadá takto:
__MyText__
Používejte pro vlastní zástupné symboly anglické názvy, i na německy mluvících webech. Tak zůstává názvosloví mezinárodně srozumitelné a jednotné.
Další možné názvy jsou:
__CustomerName__
__ProductPrice__
__CurrentDate__
Nahraďte zástupné symboly s $LayoutHTML
Pomocí str_replace() můžete vyhledat zástupný symbol v aktuálním HTML kódu a nahradit ho požadovaným obsahem:
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
CMS tímto způsobem hledá v $LayoutHTML __MyText__ a nahrazuje zástupný symbol Mým Textem.
Kombinujte HTML a zástupné symboly
Zástupný symbol můžete použít v rámci vaší běžné HTML struktury. Zadejte například následující kód do HTML oblasti:
<h1>__MyText__</h1>
V PHP oblasti doplníte náhradu:
$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);
Během procesu renderování z toho vzniká:
<h1>Meine Überschrift</h1>
Více zástupných symbolů v jednom sekci stránky
Stejný princip funguje i v rozsáhlejších HTML oblastech. Můžete například definovat nadpis a popis odděleně jako zástupné symboly:
<section>
<div class="container">
<h2>__MyHeadline__</h2>
<p>__MyDescription__</p>
</div>
</section>
V PHP kódu nastavíte oba obsahy nezávisle na sobě:
$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);
Hotový HTML kód pak obsahuje použitý text místo obou zástupných symbolů:
<section>
<div class="container">
<h2>Unsere Leistungen</h2>
<p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
</div>
</section>
Co nejvíce oddělte strukturu HTML a logiku PHP
Technicky můžete vkládat celé HTML struktury přímo s PHP do $LayoutHTML:
$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);
Pro větší obsahy je však praktické ponechat HTML jako editovatelnou strukturu v HTML oblasti a pracovat se zástupnými symboly. Příklad pro HTML kód:
<section>
<h2>__MyHeadline__</h2>
<p>__MyText__</p>
</section>
Příslušný PHP kód nahrazuje pouze potřebné hodnoty:
$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
Konečný uživatel může tímto způsobem pomocí běžného CMS editoru měnit rozestupy, upravovat nadpisy, přesouvat HTML oblasti, přizpůsobovat designy a upravovat části stránek, aniž by musel měnit logiku PHP programu.
Definujte vlastní PHP funkce
V rámci PHP kódu můžete vytvořit své vlastní funkce. Například:
function MyExampleFunction() {
return "Hello World";
}
Dejte pozor, aby nebyla funkce definována vícekrát během jednoho zavolání stránky. K tomu může dojít, pokud se stejný název funkce vyskytuje současně na hlavní stránce, v záhlaví, včetně modulu, v části stránky nebo v zápatí.
Pro vlastní PHP funkce vybírejte co nejjednoznačnější názvy. Dvojí definice funkce v PHP vede k chybě.
Název funkce specifický pro projekt by mohl vypadat takto:
function MyProjectCreateCustomerText() {
return "Customer";
}
Před definováním funkce zkontrolujte existující funkce
Alternativně můžete pomocí function_exists() zkontrolovat, zda byla daná funkce již definována:
if(!function_exists("MyProjectCreateCustomerText")) {
function MyProjectCreateCustomerText() {
return "Customer";
}
}
Používejte bluetronix PHP funkce
V PHP kódu můžete také použít PHP funkce poskytované CMS bluetronix. Příkladem je odesílání e-mailů prostřednictvím SMTP systému bluetronix s BlueSMTPMail():
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);
Potřebné parametry můžete nastavit uvnitř svého PHP kódu, například:
$From = "info@example.com";
$To = "customer@example.com";
$Subject = "Test E-Mail";
$TextContent = "Hello World";
Následně můžete použít centrální funkci pro odesílání e-mailů. Pro úplné zavolání musí být také další potřebné parametry správně nastaveny. Takže základní funkce CMS, jako je SMTP odesílání, nemusíte znovu sami programovat.
Shrnutí
Vlastní PHP kód je prováděn přímo CMS bluetronix; další PHP tagy v editoru PHP kód nejsou vyžadovány. $LayoutHTML obsahuje HTML kód aktuálně generované stránky a umožňuje vám nahradit vlastní zástupné symboly dynamickým obsahem.
Vytvořte svou HTML strukturu co nejvíce v HTML oblasti a nahraďte zástupné symboly pomocí PHP. Tímto způsobem může konečný uživatel později stále upravovat rozvržení pomocí běžného CMS editoru, zatímco programová logika zůstává oddělena.
Často kladené otázky
co se nás zákazníci často ptají
Potřebuji přístup pro vývojáře pro vlastní PHP kód?
Ano. Pokud chcete používat vlastní PHP kód na stránce CMS, potřebujete přístup pro vývojáře do systému bluetronix CMS.
Kde najdu PHP kód příkladu?
Otevřete stránku příkladu pod Moduly → PHP Příklad a vyberte PHP Kód.
Musím do PHP editoru zadávat <?php a ?>?
Ne. Editor již vykonává zadané pokyny jako PHP kód. Píšete své příkazy přímo, například print "Hello World";.
Co se stane, když použiji exit;?
exit; ukončuje vykonávání PHP na tomto místě. Tím zastavíte také další proces vykreslování stránky CMS; záhlaví, obsah stránku a patička nebudou dále generovány.
K čemu se používá $LayoutHTML?
$LayoutHTML obsahuje během procesu vykreslování HTML kód aktuálně generované stránky. Pomocí PHP v něm můžete vyhledávat obsah a například pomocí str_replace() nahradit vlastní zástupce.
Jak vložím dynamický obsah do svého HTML?
Vložte do HTML kódu například __MyText__ a nahraďte tento zástupce v PHP kódu pomocí str_replace() uvnitř $LayoutHTML.
Mohu kombinovat PHP zástupce s automatickým překladem?
Ano. Můžete společně používat PHP zástupce a překladové značky jako Naše služby. Překlad se provede později během procesu vykreslování.
Proč bych měl udržovat HTML a PHP oddělené?
Takto může koncový zákazník později upravit HTML rozložení pomocí běžného editoru, zatímco programová logika zůstává odděleně v PHP oblasti.
Jak se vyhnout duplicitně definovaným PHP funkcím?
Používejte jedinečné názvy funkcí. Dále můžete před definicí zkontrolovat pomocí function_exists(), zda funkce již existuje.
Mohu použít stávající PHP funkce bluetronix?
Ano. V oblasti PHP kódu jsou k dispozici také funkce CMS, například BlueSMTPMail() pro odesílání e-mailů. Potřebné parametry musíte nastavit odpovídajícím způsobem.