Töltsd le az appot most és teszteld ingyen 10 napig
Pénznem Nyelv kiválasztása Válasszon régiót

Saját PHP-kód a bluetronix CMS-ben

Fejlesztői hozzáféréssel saját PHP-kódot használhatsz egy CMS-oldalon. Itt az oldal HTML-kódja és a te PHP-kódod együttműködik. Központi szerepet játszik a $LayoutHTML változó: ez tartalmazza az aktuálisan generált oldal HTML-kódját az oldal renderelési folyamatában. PHP-val benne tartalmakat kereshetsz, módosíthatsz és helyettesíthetsz.

Saját PHP-kódhoz fejlesztői hozzáférés szükséges a bluetronix CMS-hez. Ha még nincs fejlesztői hozzáférésed, külön kérheted.

Oldal PHP-kódjának megnyitása

Nyisd meg a kívánt oldalon PHP Kód-ot, hogy szerkeszthesd az oldal PHP-kódját.

Nem használj további PHP-címkéket

A PHP-kódot a CMS már PHP-ként hajtja végre. Ezért a PHP-kód szerkesztőjében nem használhatsz további PHP-címkéket. Ez a forma ott nem szükséges:

<?php print "Hello World"; ?>

Írd a PHP utasítást közvetlenül:

print "Hello World";

PHP végrehajtásának befejezése exit-tel

Teszteléshez a következő utasításokat írd be, mentsd el, majd töltsd újra az oldalt:

print "Hello World";
exit();

Ebben a példában csak a Hello World jelenik meg. Az exit(); használatával itt befejezed a PHP végrehajtást.

A exit(); a további CMS-oldal renderelési folyamatát is befejezi. A fejléc, az igazi oldal tartalma, a lábléc és a későbbi feldolgozási lépések már nem hajtódnak végre.

PHP kimenet a normál oldalon belül

Ha eltávolítod a exit();-t, és csak az alábbi utasítást használod, a renderelési folyamat normálisan folytatódik:

print "Hello World";

A PHP először a Hello World-ot adja ki. Ezután a tényleges CMS-oldal folytatódik, beleértve a fejlécet, az oldal tartalmát és a láblécet. Viszont a közvetlen változtatások esetén érdemesebb a $LayoutHTML-t használni.

HTML és PHP külön szerkesztése

A bluetronix CMS-ben külön-külön karbantarthatod az oldal HTML Kód-ját és a PHP Kód-ját. Így a HTML-struktúra szerkeszthető marad a szerkesztőben, míg a programlogika a PHP területen kerül tárolásra.

Saját helyettesítők definiálása a HTML-ben

Határozd meg a HTML-kódban a helyőrzőt, amelyet a PHP-kódod később cserélni fog. Egy egyszerű példa a következő:

__MyText__

Saját helyőrzők esetén használj angol neveket, még német nyelvű weboldalakon is. Így a megnevezés nemzetközileg érthető és egységes marad.

További lehetséges elnevezések:

__CustomerName__
__ProductPrice__
__CurrentDate__

Helyettesítők cseréje $LayoutHTML-ra

A str_replace() segítségével keresheted a helyőrzőt az aktuális HTML-kódban, és cserélheted le a kívánt tartalomra:

$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

A CMS tehát a $LayoutHTML-ben keresi a __MyText__-t, és cseréli le a helyőrzőt a Az én szövegem-re.

HTML és helyettesítők kombinálása

A helyőrzőt használhatod a normál HTML-struktúrád belsejében. Például írd be a következő kódot a HTML-részbe:

<h1>__MyText__</h1>

A PHP-részben egészítsd ki a cserét:

$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);

A renderelési folyamat során ez alakul át:

<h1>Meine Überschrift</h1>

Több helyettesítő egy oldal szakaszban

Ugyanez az elv működik átfogóbb HTML-területeken is. Például a címet és a leírást külön helyőrzőként definiálhatod:

<section>
   <div class="container">
      <h2>__MyHeadline__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

A PHP-kódban pedig a két tartalmat függetlenül állíthatod be:

$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);

A kész HTML-kód ezután tartalmazza a használt szövegeket a kettő helyőrző helyett:

<section>
   <div class="container">
      <h2>Unsere Leistungen</h2>
      <p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
   </div>
</section>

HTML-struktúra és PHP-logika lehetőleg szétválasztva

Technikailag teljes HTML-struktúrákat közvetlenül beilleszthetsz PHP segítségével a $LayoutHTML-ban:

$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);

Nagyobb tartalmak esetén azonban érdemes az HTML-t szerkeszthető struktúrában hagyni a HTML-részben, és helyőrzőkkel dolgozni. Példa a HTML-kódra:

<section>
   <h2>__MyHeadline__</h2>
   <p>__MyText__</p>
</section>

A kapcsolódó PHP-kód csak a szükséges értékeket cseréli le:

$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

A végfelhasználó így a normál CMS-szerkesztőn keresztül módosíthatja a távolságokat, szerkesztheti a címeket, áthelyezheti a HTML-területeket, testreszabhatja a dizájnokat és szerkesztheti az oldalszakaszokat, anélkül, hogy módosítania kellene a PHP-programlogikát.

Saját PHP-függvények definiálása

A PHP-kódban saját funkciókat hozhatsz létre. Például:

function MyExampleFunction() {
   return "Hello World";
}

Ügyelj arra, hogy egy funkciót ne definiálj többször egy oldal megnyitása során. Ez előfordulhat, ha ugyanaz a funkció neve egy főoldalon, a fejlécben, egy beágyazott modulban, egy oldalszakaszban vagy a láblécben egyszerre szerepel.

A saját PHP-funkciókhoz lehetőleg egyértelmű neveket válassz. A dupla funkciódefiníció PHP-ban hibát okoz.

Egy projekt-specifikus funkció neve így nézhet ki:

function MyProjectCreateCustomerText() {
   return "Customer";
}

Függvénydefiníció előtt ellenőrizd a meglévő függvényeket

Alternatívaként a function_exists() segítségével ellenőrizheted, hogy a szóban forgó funkció már definiálva van-e:

if(!function_exists("MyProjectCreateCustomerText")) {
   function MyProjectCreateCustomerText() {
      return "Customer";
   }
}

bluetronix PHP-függvények használata

A PHP-kód részben a bluetronix CMS által biztosított PHP-funkciókat is használhatod. Példa az E-mail küldés a bluetronix SMTP-rendszeren keresztül a BlueSMTPMail() segítségével:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);

A szükséges paramétereket a PHP-kódodban is beállíthatod, például:

$From        = "info@example.com";
$To          = "customer@example.com";
$Subject     = "Test E-Mail";
$TextContent = "Hello World";

Ezután a központi funkciót használhatod az E-mail küldéshez. A teljes hívás érdekében a további szükséges paramétereknek is megfelelően be kell állítani őket. Így a alapvető CMS-funkciókat, mint az SMTP-küldés, nem kell újra programoznod.

Összefoglalás

A saját PHP-kódot a bluetronix CMS közvetlenül végrehajtja; további PHP-címkék a PHP kód szerkesztőben nem szükségesek. A $LayoutHTML tartalmazza az aktuálisan létrehozott oldal HTML-kódját, és lehetővé teszi, hogy saját helyőrzőidet dinamikus tartalomra cseréld.

A HTML-struktúrádat lehetőleg a HTML-részben hozd létre, és cseréld le a helyőrzőket PHP-n keresztül. Így az végfelhasználó később is folytathatja a megjelenés szerkesztését a normál CMS-szerkesztőn keresztül, míg a programlogika külön marad.

GYIK

Miket kérdeznek tőlünk gyakran az ügyfelek?

Szükségem van fejlesztői hozzáférésre a saját PHP-kódhoz?

Igen. A saját PHP-kód használatához a CMS-oldalon fejlesztői hozzáférésre van szükséged a bluetronix CMS-hez.

Hol találom a példa PHP-kódját?

Nyisd meg a példa oldalt a Modulok → PHP Példa menüpont alatt, és válaszd a PHP Kódot.

Be kell írnom a PHP-kód szerkesztőbe <?php és ?>?

Nem. A szerkesztő már PHP-ként hajtja végre a megadott utasításokat. Közvetlenül írod be az utasításaidat, például print "Hello World";.

Mi történik, ha használom az exit; utasítást?

Az exit; leállítja a PHP végrehajtását ezen a ponton. Ezzel a további CMS-oldal-renderelési folyamat is leáll; a fejléc, oldaltartalom és lábléc továbbiakban nem kerülnek generálásra.

Mire használják a $LayoutHTML-t?

A $LayoutHTML a renderelési folyamat során tartalmazza az aktuálisan generált oldal HTML-kódját. PHP-val ebben a tartalmakat keresheted és például a str_replace()-al saját helyettesítőket cserélhetsz.

Hogyan illeszthetek dinamikus tartalmakat a HTML-embe?

A HTML-kódba például írd be __MyText__-t, és cseréld le ezt a helyettesítőt a PHP-kódban a $LayoutHTML-on belül használva a str_replace()-t.

Kombinálhatom a PHP-helyettesítőket az automatikus fordítással?

Igen. Használhatsz PHP-helyettesítőket és fordítási jelöléseket, mint például Szolgáltatásaink, együtt. A fordítás később, a renderelési folyamat során történik.

Miért érdemes az HTML-t és a PHP-t különválasztani?

Így a végfelhasználó később a normál szerkesztővel módosíthatja az HTML-elrendezést, míg a programlogika külön a PHP-területen marad.

Hogyan kerülhetem el a kétszer definiált PHP-funkciókat?

Használj egyedi funkciónévket. Ezen kívül egy function_exists() ellenőrzése előtt megnézheted, hogy egy funkció már létezik-e.

Használhatom a meglévő bluetronix PHP-funkciókat?

Igen. A PHP-kód területen a CMS-funkciók is rendelkezésre állnak, például a BlueSMTPMail() az e-mail küldéshez. A szükséges paramétereket megfelelően be kell állítanod.

CMS