Last ned appen nå og test gratis i 10 dager
Valuta Velg språk Velg region

Egen PHP-kode i bluetronix CMS

Med en utviklerkonto kan du bruke egen PHP-kode innenfor en CMS-side. Her samarbeider HTML-koden på siden med din PHP-kode. En sentral rolle spiller variabelen $LayoutHTML: Den inneholder HTML-koden for den siden som for øyeblikket genereres under sidenes rendering-prosess. Med PHP kan du søke, endre og erstatte innhold der.

For egen PHP-kode trenger du en utviklerkonto for bluetronix CMS. Hvis du ikke allerede har en utviklerkonto, kan du søke om den separat.

Åpne PHP-koden for en side

Åpne på den ønskede siden PHP-kode for å redigere PHP-koden på siden.

Ikke bruk ekstra PHP-tags

PHP-koden blir allerede kjørt som PHP-kode av CMS. Derfor kan du ikke bruke ekstra PHP-tags i PHP-kode-editoren. Denne skrivemåten er ikke nødvendig der:

<?php print "Hello World"; ?>

Skriv din PHP-setning direkte istedenfor:

print "Hello World";

Avslutt PHP-kjøringen med exit

For testing kan du skrive inn følgende setninger, lagre dem og deretter laste siden på nytt:

print "Hello World";
exit();

I dette eksemplet vises kun Hello World. Med exit(); avslutter du PHP-kjøringen på dette punktet.

Gjennom exit(); stoppes også den videre CMS-sidenes rendering-prosess. Header, selve sidens innhold, footer og påfølgende behandlingssteg utføres ikke lenger.

PHP-utdata innenfor den normale siden

Fjerner du exit(); og bruker kun følgende instruksjon, vil rendering-prosessen gå normalt videre:

print "Hello World";

PHP skriver først ut Hello World. Deretter fortsetter den faktiske CMS-siden å bli generert, inkludert header, sidens innhold og footer. For endringer direkte innenfor HTML-siden bør du imidlertid jobbe så mye som mulig med $LayoutHTML.

Rediger HTML og PHP separat

I bluetronix CMS kan du vedlikeholde HTML-koden og PHP-koden for en side separat. På denne måten forblir HTML-strukturen redigerbar i redigereren, mens du plasserer programlogikken i PHP-området.

Definer dine egne plassholdere i HTML

Definer en plassholder i HTML-koden som PHP-koden din senere skal erstatte. Et enkelt eksempel er:

__MyText__

Bruk engelske navn for egne plassholdere, selv på tyskspråklige nettsider. Slik forblir betegnelsen internasjonalt forståelig og enhetlig.

Andre mulige betegnelser er:

__CustomerName__
__ProductPrice__
__CurrentDate__

Erstatt plassholdere med $LayoutHTML

Med str_replace() kan du søke etter plassholderen i den nåværende HTML-koden og erstatte den med ønsket innhold:

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

CMS-et søker i $LayoutHTML etter __MyText__ og erstatter plassholderen med Min tekst.

Kombiner HTML og plassholdere

Plassholderen kan brukes innenfor din normale HTML-struktur. For eksempel, skriv inn følgende kode i HTML-delen:

<h1>__MyText__</h1>

I PHP-delen legger du til erstatningen:

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

Under renderingprosessen blir dette:

<h1>Meine Überschrift</h1>

Flere plassholdere i en side-seksjon

Samme prinsipp fungerer i mer omfattende HTML-områder. Du kan for eksempel definere overskrift og beskrivelse som separate plassholdere:

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

I PHP-koden setter du begge innholdene uavhengig av hverandre:

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

Den fullstendige HTML-koden inneholder deretter de innlagte tekstene i stedet for de to plassholderne:

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

Skille HTML-struktur og PHP-logikk så mye som mulig

Teknisk kan du sette inn komplette HTML-strukturer direkte med PHP i $LayoutHTML:

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

For større innhold er det imidlertid fornuftig å la HTML være en redigérbar struktur i HTML-delen og jobbe med plassholdere. Eksempel på HTML-koden:

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

Den tilknyttede PHP-koden erstatter bare de nødvendige verdiene:

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

Sluttkunden kan derfor endre avstander, redigere overskrifter, flytte HTML-områder, tilpasse design og redigere seksjoner uten å måtte endre PHP-programlogikken.

Definer dine egne PHP-funksjoner

Innenfor PHP-koden kan du opprette egne funksjoner. For eksempel:

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

Pass på at en funksjon ikke defineres flere ganger under et sidekall. Dette kan skje hvis samme funksjonsnavn finnes på hovedsiden, i headeren, i et inkludert modul, i en seksjon eller i footeren.

Velg så entydige navn som mulig for egne PHP-funksjoner. En dobbel funksjonsdefinisjon fører til en feil i PHP.

Et prosjektspecifikt funksjonsnavn kan se slik ut:

function MyProjectCreateCustomerText() {
   return "Customer";
}

Kontroller eksisterende funksjoner før en funksjonsdefinisjon

Alternativt kan du bruke function_exists() for å sjekke om den aktuelle funksjonen allerede er definert:

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

Bruk bluetronix PHP-funksjoner

I PHP-kodeområdet kan du også bruke PHP-funksjoner som tilbys av bluetronix CMS. Et eksempel er e-postsending via bluetronix SMTP-system med BlueSMTPMail():

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

De nødvendige parameterne kan du sette i din PHP-kode, for eksempel:

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

Deretter kan du bruke sentralfunksjonen for e-postsending. For en fullstendig kall må også de andre nødvendige parameterne settes riktig. Slik trenger du ikke å programmere grunnleggende CMS-funksjoner som SMTP-sending på nytt.

Sammendrag

Egen PHP-kode kjøres direkte av bluetronix CMS; ekstra PHP-tagger er ikke nødvendige i PHP Code-redaktøren. $LayoutHTML inneholder HTML-koden til den nåværende genererte siden og lar deg erstatte egne plassholdere med dynamisk innhold.

Legg HTML-strukturen din helst i HTML-delen og erstatt plassholderne via PHP. Slik kan sluttkunden fortsatt redigere designet med den vanlige CMS-redaktøren, mens programlogikken forblir atskilt.

FAQ

hva kunder ofte spør oss om

Trenger jeg utviklertilgang for egen PHP-kode?

Ja. For å bruke egen PHP-kode i en CMS-side, trenger du utviklertilgang til bluetronix CMS.

Hvor finner jeg PHP-koden til eksemplet?

Åpne eksempelsiden under Moduler → PHP Eksempel og velg PHP-kode.

Må jeg skrive <?php og ?> i PHP-kodeeditoren?

Nei. Editorens kjører allerede de registrerte instruksjonene som PHP-kode. Du skriver instruksjonene direkte, for eksempel print "Hello World";.

Hva skjer hvis jeg bruker exit;?

exit; avslutter PHP-kjøringen på dette punktet. Dette stopper også den videre CMS-side-renderingsprosessen; Header, sidinnhold og footer vil ikke lenger bli produsert.

Hva brukes $LayoutHTML til?

$LayoutHTML inneholder HTML-koden for den nåværende genererte siden under renderingprosessen. Med PHP kan du søke i innholdet og for eksempel erstatte egne plassholdere med str_replace() .

Hvordan setter jeg dynamisk innhold i HTML-en min?

Sett for eksempel __MyText__ inn i HTML-koden og erstatt denne plassholderen i PHP-koden med str_replace() innenfor $LayoutHTML.

Kan jeg kombinere PHP-plassholdere med automatisk oversettelse?

Ja. Du kan bruke både PHP-plassholdere og oversettelsesmerker som Våre tjenester sammen. Oversettelsen skjer senere under renderingprosessen.

Hvorfor bør jeg holde HTML og PHP adskilt?

Slik kan sluttkunden redigere HTML-layouten senere med den normale editoren, mens programlogikken forblir separat i PHP-området.

Hvordan unngår jeg dobbeltdefinerte PHP-funksjoner?

Bruk unike funksjonsnavn. Du kan også sjekke om en funksjon allerede eksisterer før definisjonen med function_exists() .

Kan jeg bruke eksisterende bluetronix PHP-funksjoner?

Ja. Det er også CMS-funksjoner tilgjengelig i PHP-kodeområdet, for eksempel BlueSMTPMail() for e-postsending. Du må angi de nødvendige parameterne deretter.

CMS