Utiliser le code PHP et $LayoutHTML dans le CMS bluetronix
Avec un accès développeur, vous pouvez modifier vous-même le code PHP de vos pages CMS. Dans ce tutoriel, vous apprendrez comment exécuter des instructions PHP, modifier le contenu HTML via $LayoutHTML et utiliser vos propres fonctions ainsi que les fonctions intégrées du CMS.
Code PHP propre dans le CMS bluetronix
Avec un accès développeur, vous pouvez utiliser votre propre code PHP au sein d'une page CMS. Le code HTML de la page et votre code PHP travaillent ensemble. Une variable centrale joue un rôle : $LayoutHTML : elle contient le code HTML de la page actuellement générée pendant le processus de rendu du site. Avec PHP, vous pouvez y chercher, modifier et remplacer des contenus.
Pour votre code PHP, vous avez besoin d'un accès développeur au CMS bluetronix. Si vous ne possédez pas encore d'accès développeur, vous pouvez en faire la demande séparément.
Ouvrir le code PHP d'une page
Ouvrez sur la page souhaitée Code PHP pour modifier le code PHP de la page.
Aucun tag PHP supplémentaire à utiliser
Le code PHP est déjà exécuté en tant que code PHP par le CMS. Par conséquent, vous ne devez pas utiliser de tags PHP supplémentaires dans l'éditeur de code PHP. Cette syntaxe n'est pas nécessaire ici :
<?php print "Hello World"; ?>
Écrivez plutôt votre instruction PHP directement :
print "Hello World";
Terminer l'exécution PHP avec exit
Pour tester, vous pouvez entrer les instructions suivantes, les sauvegarder et puis recharger la page :
print "Hello World";
exit();

Dans cet exemple, seul Hello World est affiché. Avec exit();, vous terminez l'exécution PHP à ce moment.
Avec exit();, le processus de rendu du site CMS est également terminé. L'en-tête, le contenu principal de la page, le pied de page et les étapes de traitement suivantes ne seront plus exécutées.
Sortie PHP au sein de la page normale
Si vous supprimez exit(); et utilisez seulement l'instruction suivante, le processus de rendu continuera normalement :
print "Hello World";

PHP affiche d'abord Hello World. Ensuite, la page CMS sera générée normalement, y compris l'en-tête, le contenu de la page et le pied de page. Cependant, pour les modifications directement dans la page HTML, il est conseillé d'utiliser autant que possible $LayoutHTML.
Modifier HTML et PHP séparément
Dans le CMS bluetronix, vous pouvez entretenir séparément le code HTML et le code PHP d'une page. Cela permet à la structure HTML d'être modifiable dans l'éditeur, tandis que la logique de programmation est enregistrée dans la zone PHP.
Définir ses propres espaces réservés dans l'HTML
Définis un espace réservé dans le code HTML que ton code PHP doit remplacer plus tard. Un exemple simple est le suivant :
__MyText__
Utilise des noms anglais pour tes propres espaces réservés, même sur les sites web en langue allemande. Cela maintient la dénomination compréhensible et cohérente à l'international.
D'autres désignations possibles sont :
__CustomerName__
__ProductPrice__
__CurrentDate__
Remplacer les espaces réservés par $LayoutHTML
Avec str_replace(), tu peux chercher l'espace réservé dans le code HTML actuel et le remplacer par le contenu désiré :
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
Le CMS cherche dans $LayoutHTML __MyText__ et remplace l'espace réservé par Mon texte.
Combiner HTML et espaces réservés
Tu peux utiliser l'espace réservé au sein de ta structure HTML normale. Par exemple, entre ce code dans la section HTML :
<h1>__MyText__</h1>
Dans la section PHP, tu ajoutes le remplacement :
$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);
Au cours du processus de rendu, cela donne :
<h1>Meine Überschrift</h1>
Plusieurs espaces réservés dans une section de page
Le même principe fonctionne dans des zones HTML plus larges. Tu peux définir par exemple un titre et une description séparément comme espaces réservés :
<section>
<div class="container">
<h2>__MyHeadline__</h2>
<p>__MyDescription__</p>
</div>
</section>
Dans le code PHP, tu définis les deux contenus indépendamment l'un de l'autre :
$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);
Le code HTML final contient alors les textes insérés à la place des deux espaces réservés :
<section>
<div class="container">
<h2>Unsere Leistungen</h2>
<p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
</div>
</section>
Séparer autant que possible la structure HTML de la logique PHP
Techniquement, tu peux insérer des structures HTML complètes directement avec PHP dans $LayoutHTML :
$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);
Pour des contenus plus importants, il est cependant judicieux de laisser l'HTML sous forme de structure modifiable dans la section HTML et de travailler avec des espaces réservés. Exemple pour le code HTML :
<section>
<h2>__MyHeadline__</h2>
<p>__MyText__</p>
</section>
Le code PHP correspondant remplace seulement les valeurs nécessaires :
$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);
Le client final peut ainsi modifier les espacements via l'éditeur CMS normal, éditer les titres, déplacer des zones HTML, adapter les designs et éditer des sections de page sans avoir à modifier la logique de programmation PHP.
Définir ses propres fonctions PHP
Au sein du code PHP, tu peux créer tes propres fonctions. Par exemple :
function MyExampleFunction() {
return "Hello World";
}
Assure-toi qu'une fonction n'est pas définie plusieurs fois lors d'un appel de page. Cela peut arriver si le même nom de fonction apparaît simultanément sur la page principale, dans l'en-tête, dans un module intégré, dans une section de page ou dans le pied de page.
Choisis des noms aussi uniques que possible pour tes propres fonctions PHP. Une définition de fonction dupliquée entraîne une erreur en PHP.
Un nom de fonction spécifique au projet pourrait ressembler à ceci :
function MyProjectCreateCustomerText() {
return "Customer";
}
Vérifier les fonctions existantes avant de définir une fonction
Alternativement, tu peux vérifier avec function_exists() si la fonction en question a déjà été définie :
if(!function_exists("MyProjectCreateCustomerText")) {
function MyProjectCreateCustomerText() {
return "Customer";
}
}
Utiliser les fonctions PHP de bluetronix
Dans la section de code PHP, tu peux également utiliser les fonctions PHP fournies par le CMS bluetronix. Un exemple est l'envoi d'e-mails via le système SMTP de bluetronix avec BlueSMTPMail() :
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);
Les paramètres nécessaires peuvent être définis dans ton code PHP, par exemple :
$From = "info@example.com";
$To = "customer@example.com";
$Subject = "Test E-Mail";
$TextContent = "Hello World";
Ensuite, tu peux utiliser la fonction centrale pour l'envoi d'e-mails. Pour un appel complet, les autres paramètres nécessaires doivent également être définis correctement. Ainsi, tu n'as pas besoin de programmer à nouveau des fonctions CMS de base comme l'envoi SMTP.
Résumé
Le code PHP personnalisé est exécuté directement par le CMS bluetronix ; des balises PHP supplémentaires ne sont pas nécessaires dans l'éditeur de code PHP. $LayoutHTML contient le code HTML de la page actuellement générée et te permet de remplacer tes espaces réservés par des contenus dynamiques.
Crée ta structure HTML autant que possible dans la section HTML et remplace les espaces réservés via PHP. Cela permet au client final de continuer à modifier la mise en page plus tard avec l'éditeur CMS normal, tandis que la logique de programmation reste séparée.
FAQ
ce que nos clients nous demandent souvent
Ai-je besoin d'un accès développeur pour mon propre code PHP ?
Oui. Pour utiliser votre propre code PHP dans une page CMS, vous avez besoin d'un accès développeur au CMS bluetronix.
Où puis-je trouver le code PHP de l'exemple ?
Ouvrez la page d'exemple sous Modules → Exemple PHP et sélectionnez le code PHP.
Dois-je entrer <?php et ?> dans l'éditeur de code PHP ?
Non. L'éditeur exécute déjà les instructions fournies en tant que code PHP. Vous écrivez directement vos instructions, par exemple print "Hello World";.
Que se passe-t-il si j'utilise exit; ?
exit; termine l'exécution de PHP à cet endroit. Cela arrête également le processus de rendu de la page CMS ; l'en-tête, le contenu de la page et le pied de page ne seront ensuite plus générés.
À quoi sert $LayoutHTML ?
$LayoutHTML contient le code HTML de la page actuellement générée pendant le processus de rendu. Avec PHP, vous pouvez rechercher du contenu à l'intérieur et, par exemple, remplacer vos propres espaces réservés avec str_replace() .
Comment puis-je insérer du contenu dynamique dans mon HTML ?
Insérez par exemple __MyText__ dans le code HTML et remplacez cet espace réservé dans le code PHP avec str_replace() à l'intérieur de $LayoutHTML.
Puis-je combiner des espaces réservés PHP avec la traduction automatique ?
Oui. Vous pouvez utiliser des espaces réservés PHP et des marques de traduction comme Our Services ensemble. La traduction se fera ultérieurement pendant le processus de rendu.
Pourquoi devrais-je garder HTML et PHP séparés ?
Ainsi, le client final peut modifier le layout HTML plus tard avec l'éditeur normal, tandis que la logique du programme reste séparée dans la zone PHP.
Comment éviter de définir deux fois des fonctions PHP ?
Utilisez des noms de fonctions uniques. Vous pouvez également vérifier avant une définition avec function_exists() si une fonction existe déjà.
Puis-je utiliser des fonctions PHP bluetronix existantes ?
Oui. Dans la zone de code PHP, des fonctions CMS sont également à votre disposition, comme BlueSMTPMail() pour l'envoi d'e-mails. Vous devez définir les paramètres requis en conséquence.