Download appen nu og prøv gratis i 10 dage
Valuta Vælg sprog Vælg region

Egen PHP-kode i bluetronix CMS

Med en udvikleradgang kan du bruge din egen PHP-kode inden for en CMS-side. HTML-koden på siden og din PHP-kode arbejder sammen. En central rolle spiller variablen $LayoutHTML: Den indeholder HTML-koden for den aktuelt genererede side under rendering-processen. Med PHP kan du søge, ændre og erstatte indhold i den.

Du har brug for en udvikleradgang til bluetronix CMS for at bruge egen PHP-kode. Hvis du ikke allerede har en udvikleradgang, kan du ansøge om den separat.

Åbn PHP-koden på en side

Åbn PHP Code på den ønskede side for at redigere PHP-koden på siden.

Brug ikke ekstra PHP-tags

PHP-koden udføres allerede som PHP-kode af CMS'et. Derfor må du ikke bruge ekstra PHP-tags i PHP-kode-editoren. Denne skrivemåde er ikke nødvendig der:

<?php print "Hello World"; ?>

Skriv i stedet din PHP-kommando direkte:

print "Hello World";

Afslut PHP-eksekvering med exit

Til test kan du indtaste følgende kommandoer, gemme dem og derefter genindlæse siden:

print "Hello World";
exit();

I dette eksempel vises kun Hello World. Med exit(); afslutter du PHP-eksekveringen på dette punkt.

Ved exit(); afsluttes også den videre CMS-site-rendering-proces. Header, egentligt sideindhold, footer og efterfølgende behandlingsmetoder udføres ikke længere.

PHP-udgang inden for den normale side

Fjerner du exit(); og bruger kun følgende kommando, fortsætter rendering-processen normalt:

print "Hello World";

PHP udskriver først Hello World. Derefter fortsætter den egentlige CMS-side med at blive genereret, inklusive header, sideindhold og footer. For ændringer direkte inden for HTML-siden bør du dog så vidt muligt arbejde med $LayoutHTML.

Rediger HTML og PHP adskilt

I bluetronix CMS kan du vedligeholde HTML-koden og PHP-koden på en side adskilt. På den måde forbliver HTML-strukturen redigerbar i editoren, mens du gemmer programlogikken i PHP-området.

Definér egne pladsholdere i HTML

Definér en pladsholder i HTML-koden, som din PHP-kode senere skal erstatte. Et simpelt eksempel er:

__MyText__

Brug engelske navne til egne pladsholdere, også på tysksprogede hjemmesider. Så forbliver navngivningen international forståelig og ensartet.

Andre mulige betegnelser er:

__CustomerName__
__ProductPrice__
__CurrentDate__

Erstat pladsholdere med $LayoutHTML

Med str_replace() kan du søge efter pladsholderen i den aktuelle HTML-kode og erstatte den med dit ønskede indhold:

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

CMS'et søger derfor i $LayoutHTML efter __MyText__ og erstatter pladsholderen med Min tekst.

Kombiner HTML og pladsholdere

Du kan bruge pladsholderen inden for din normale HTML-struktur. Indsæt for eksempel følgende kode i HTML-området:

<h1>__MyText__</h1>

I PHP-området tilføjer du erstatningen:

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

Under renderingsprocessen bliver dette:

<h1>Meine Überschrift</h1>

Flere pladsholdere i et sideafsnit

Det samme princip fungerer i mere omfattende HTML-områder. Du kan for eksempel definere overskrift og beskrivelse som separate pladsholdere:

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

I PHP-koden sætter du begge indhold uafhængigt af hinanden:

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

Den færdige HTML-kode indeholder derefter de indsatte tekster i stedet for de to pladsholdere:

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

Adskil HTML-struktur og PHP-logik så meget som muligt

Teknisk set kan du direkte indsætte komplette HTML-strukturer med PHP i $LayoutHTML:

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

For større indhold er det dog fornuftigt at lade HTML være en redigerbar struktur i HTML-området og arbejde med pladsholdere. Eksempel på HTML-koden:

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

Den tilhørende PHP-kode erstatter kun de nødvendige værdier:

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

Slutbrugeren kan dermed ændre afstande, redigere overskrifter, flytte HTML-områder, justere designs og redigere sektioner uden at skulle ændre PHP-programmeringslogikken.

Definér egne PHP-funktioner

Inden for PHP-koden kan du oprette dine egne funktioner. For eksempel:

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

Sørg for, at en funktion ikke defineres flere gange under en sidevisning. Det kan ske, hvis det samme funktionsnavn samtidig optræder på hovedsiden, i headeren, i en indlejret modul, i en sektion eller i footer.

Vælg så unikke navne som muligt for egne PHP-funktioner. En dobbelt funktionsdefinition fører til en fejl i PHP.

Et projektspecifikt funktionsnavn kunne se sådan ud:

function MyProjectCreateCustomerText() {
   return "Customer";
}

Kontrollér eksisterende funktioner før en funktionsdefinition

Alternativt kan du med function_exists() kontrollere, om den relevante funktion allerede er defineret:

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

Brug bluetronix PHP-funktioner

I PHP-kodeområdet kan du også bruge de PHP-funktioner, som bluetronix CMS tilbyder. Et eksempel er e-mail-afsendelse via bluetronix SMTP-systemet med BlueSMTPMail():

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

De nødvendige parametre kan du indstille inden for din PHP-kode, for eksempel:

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

Derefter kan du bruge den centrale funktion til e-mail-afsendelsen. For et fuldt kald skal også de øvrige nødvendige parametre være korrekt indstillet. På den måde behøver du ikke at programmere grundlæggende CMS-funktioner som SMTP-afsendelse igen.

Sammendrag

Egen PHP-kode udføres direkte af bluetronix CMS; yderligere PHP-tags er ikke nødvendige i PHP-kode -editoren. $LayoutHTML indeholder HTML-koden for den aktuelt genererede side og gør det muligt at erstatte egne pladsholdere med dynamisk indhold.

Skab din HTML-struktur så vidt muligt i HTML-området og erstat pladsholderne via PHP. Dermed kan slutbrugeren fortsat redigere layoutet med den almindelige CMS-editor, mens programmeringslogikken forbliver adskilt.

FAQ

hvad kunder ofte spørger os

Har jeg brug for en udvikleradgang for at bruge egen PHP-kode?

Ja. For at bruge din egen PHP-kode inden for en CMS-side, har du brug for en udvikleradgang til bluetronix CMS.

Hvor finder jeg PHP-koden for eksemplet?

Åbn eksempel-siden under Moduler → PHP Eksempel og vælg PHP-kode.

Skal jeg indtaste <?php og ?> i PHP-kode-editoren?

Nej. Editorens udfører de angivne kommandoer allerede som PHP-kode. Du skriver dine kommandoer direkte, for eksempel print "Hello World";.

Hvad sker der, hvis jeg bruger exit;?

exit; afslutter PHP-udførelsen på dette punkt. Derved stopper også den videre CMS-side-renderingsproces; header, sidens indhold og footer vil derefter ikke blive genereret.

Hvad bruges $LayoutHTML til?

$LayoutHTML indeholder den HTML-kode for den aktuelt genererede side under rendering-processen. Med PHP kan du søge i denne kode og for eksempel erstatte egne pladsholdere med str_replace() .

Hvordan indsætter jeg dynamisk indhold i mit HTML?

Indsæt for eksempel __MyText__ i HTML-koden og erstat denne pladsholder i PHP-koden med str_replace() inden for $LayoutHTML.

Kan jeg kombinere PHP-pladsholdere med automatisk oversættelse?

Ja. Du kan bruge PHP-pladsholdere og oversættelsesmærker som Vores tjenester sammen. Oversættelsen sker senere under rendering-processen.

Hvorfor skal jeg holde HTML og PHP adskilt?

Så kan slutkunden senere redigere HTML-layoutet med den normale editor, mens programlogikken forbliver separat i PHP-området.

Hvordan undgår jeg dobbeltdefinerede PHP-funktioner?

Brug unikke funktionsnavne. Du kan desuden kontrollere med function_exists(), om en funktion allerede findes, før du definerer den.

Kan jeg bruge eksisterende bluetronix PHP-funktioner?

Ja. I PHP-kodeområdet er der også CMS-funktioner tilgængelige, for eksempel BlueSMTPMail() til e-mailafsendelse. De nødvendige parametre skal du sætte korrekt.

CMS