Ladda ner appen nu och testa gratis i 10 dagar
Valuta Välj språk Välj region

Egen PHP-kod i bluetronix CMS

Med en utvecklaråtkomst kan du använda egen PHP-kod inom en CMS-sida. Här arbetar HTML-koden för sidan tillsammans med din PHP-kod. En central roll spelar variabeln $LayoutHTML: Den innehåller HTML-koden för den aktuella sidan under renderingsprocessen. Med PHP kan du söka, ändra och ersätta innehåll där.

För att använda egen PHP-kod behöver du en utvecklaråtkomst till bluetronix CMS. Om du inte redan har en utvecklaråtkomst kan du ansöka om det separat.

Öppna PHP-koden för en sida

Öppna PHP Code på den önskade sidan för att redigera PHP-koden för sidan.

Använd inga extra PHP-taggar

PHP-koden körs redan av CMS som PHP-kod. Därför får du inte använda några extra PHP-taggar i PHP-kodeditor. Den writingen behövs inte där:

<?php print "Hello World"; ?>

Skriv istället dina PHP-satser direkt:

print "Hello World";

Avsluta PHP-körningen med exit

För testning kan du ange följande satser, spara dem och ladda sidan på nytt:

print "Hello World";
exit();

I detta exempel visas endast Hello World. Med exit(); avslutar du PHP-körningen vid denna tidpunkt.

Genom exit(); avslutas även den fortsatta CMS-sidans renderingsprocess. Header, själva sidinnehållet, footer och efterföljande bearbetningssteg kommer inte att utföras.

PHP-utdata inom den vanliga sidan

Tar du bort exit(); och använder endast följande sats fortsätter renderingsprocessen normalt:

print "Hello World";

PHP skriver först ut Hello World. Därefter fortsätter den faktiska CMS-sidan att genereras, inklusive header, sidinnehåll och footer. För ändringar direkt inom HTML-sidan bör du dock arbeta så mycket som möjligt med $LayoutHTML.

Bearbeta HTML och PHP separat

I bluetronix CMS kan du underhålla HTML-koden och PHP-koden för en sida separat. Så förblir HTML-strukturen redigerbar i editorn, medan du lagrar programlogiken i PHP-området.

Definiera egna platshållare i HTML

Definiera en platshållare i HTML-koden som din PHP-kod senare ska ersätta. Ett enkelt exempel är:

__MyText__

Använd engelska namn för egna platshållare, även på tyskspråkiga webbplatser. På så sätt förblir namngivningen internationellt förståelig och enhetlig.

Andra möjliga beteckningar är:

__CustomerName__
__ProductPrice__
__CurrentDate__

Ersätt platshållare med $LayoutHTML

Med str_replace() kan du söka efter platshållaren i den aktuella HTML-koden och ersätta den med ditt önskade innehåll:

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

CMS:et söker då i $LayoutHTML efter __MyText__ och ersätter platshållaren med Min text.

Kombinera HTML och platshållare

Du kan använda platshållaren inom din normala HTML-struktur. Skriv till exempel följande kod i HTML-området:

<h1>__MyText__</h1>

I PHP-området kompletterar du ersättningen:

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

Under renderingprocessen blir det:

<h1>Meine Überschrift</h1>

Flera platshållare i en sidorubrik

Samma princip fungerar i större HTML-sektioner. Du kan till exempel definiera rubrik och beskrivning separat som platshållare:

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

I PHP-koden sätter du båda innehållen oberoende av varandra:

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

Den färdiga HTML-koden innehåller då de insatta texterna istället för de två platshållarna:

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

Håll HTML-struktur och PHP-logik så skilda som möjligt

Tekniskt kan du direkt använda kompletta HTML-strukturer med PHP i $LayoutHTML:

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

För större innehåll är det dock fördelaktigt att behålla HTML som en redigerbar struktur i HTML-området och arbeta med platshållare. Exempel på HTML-koden:

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

Den tillhörande PHP-koden ersätter endast de nödvändiga värdena:

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

Slutkunden kan därigenom ändra avstånd, redigera rubriker, flytta HTML-sektioner, anpassa designer och redigera sidavsnitt via den vanliga CMS-editorn utan att behöva ändra PHP-programlogiken.

Definiera egna PHP-funktioner

Inom PHP-koden kan du skapa egna funktioner. Till exempel:

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

Se till att en funktion inte definieras flera gånger under en sidvisning. Det kan hända om samma funktionsnamn används på huvud sidan, i headern, i ett inbäddat modul, i en sidavsnitt eller i footern.

Välj så unika namn som möjligt för dina egna PHP-funktioner. En dubbel funktionsdefinition leder till ett fel i PHP.

Ett projektspecifikt funktionsnamn kan se ut så här:

function MyProjectCreateCustomerText() {
   return "Customer";
}

Kontrollera om det redan finns funktioner innan du definierar en funktion

Alternativt kan du använda function_exists() för att kontrollera om den aktuella funktionen redan har definierats:

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

Använd bluetronix PHP-funktioner

I PHP-kodområdet kan du också använda de PHP-funktioner som tillhandahålls av bluetronix CMS. Ett exempel är e-postutskick via bluetronix SMTP-systemet med BlueSMTPMail():

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

De nödvändiga parametrarna kan sättas inom din PHP-kod, till exempel:

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

Därefter kan du använda den centrala funktionen för e-postutskick. För ett fullständigt anrop måste även de övriga nödvändiga parametrarna sättas på rätt sätt. På så sätt behöver du inte programmera grundläggande CMS-funktioner som SMTP-utskick själv igen.

Sammanfattning

Egen PHP-kod körs direkt av bluetronix CMS; ytterligare PHP-taggar är inte nödvändiga i PHP Code-editorn. $LayoutHTML innehåller HTML-koden för den aktuella skapade sidan och låter dig ersätta egna platshållare med dynamiskt innehåll.

Skapa din HTML-struktur helst i HTML-området och ersätt platshållarna via PHP. På så sätt kan slutkunden senare fortfarande redigera layouten med den vanliga CMS-editorn, medan programlogiken förblir åtskild.

FAQ

vad kunder ofta frågar oss

Behöver jag en utvecklaråtkomst för egen PHP-kod?

Ja. För att använda egen PHP-kod inom en CMS-sida behöver du en utvecklaråtkomst till bluetronix CMS.

Var hittar jag PHP-koden för exemplet?

Öppna exempel-sidan under Moduler → PHP Exempel och välj PHP-kod.

Måste jag ange <?php och ?> i PHP-kodredigeraren?

Nej. Redigeraren kör redan de angivna instruktionerna som PHP-kod. Du skriver dina instruktioner direkt, till exempel print "Hello World";.

Vad händer om jag använder exit;?

exit; avslutar PHP-körningen vid denna punkt. Detta stoppar också den fortsatta CMS-sidans renderingprocess; header, sidinnehåll och footer produceras därefter inte längre.

Vad används $LayoutHTML till?

$LayoutHTML innehåller HTML-koden för den aktuella sidan under renderingprocessen. Med PHP kan du söka i det och till exempel ersätta egna platshållare via str_replace().

Hur lägger jag till dynamiskt innehåll i mitt HTML?

Sätt till exempel __MyText__ i HTML-koden och ersätt denna platshållare i PHP-koden med str_replace() i $LayoutHTML.

Kan jag kombinera PHP-platshållare med automatisk översättning?

Ja. Du kan använda PHP-platshållare och översättningsmarkörer som Our Services tillsammans. Översättningen sker senare under renderingprocessen.

Varför ska jag hålla HTML och PHP åtskilda?

Så kan slutkunden redigera HTML-layouten senare med den vanliga redigeraren, medan programlogiken förblir separat i PHP-området.

Hur undviker jag dubbeldefinierade PHP-funktioner?

Använd unika funktionsnamn. Du kan dessutom kontrollera om en funktion redan finns med function_exists() innan en definition.

Kan jag använda befintliga bluetronix PHP-funktioner?

Ja. CMS-funktioner som BlueSMTPMail() för e-postutskick är också tillgängliga i PHP-kodområdet. De nödvändiga parametrarna måste du sätta korrekt.

CMS