Mettre du code php dans les articles

joreveurjoreveur Member
avril 2016 modifié dans Entraide
Bonjour
comment faire pour intégrer du code php dans les articles ?

exemple ce code
[== PHP ==]
<?php
    echo 'Hello tous <br />'."\n";
    echo 'Hello World <br />';
    echo "\n";
?>

ne fonctionne pas..

ne fonctionne qu'avec une page statique http://joreveur.info/?static7/

merci si vous avez une astuce

cordialement

Réponses

  • GzygGzyg Member
    avril 2016 modifié
    Salut,

    Il te faut employer un plugin de coloration syntaxique comme (par exemple) highlightjs disponible sur ce dépôt : http://www.kazimentou.fr/pluxml-plugins2/


    à plus,

    Gzyg
  • Bonjour et merci.

    Et ce plugin va me permettre de mettre du code php dans mes articles ?

    cordialement
  • GzygGzyg Member
    Oui mais ce ne sera pas du code exécutable.


    à plus,

    Gzyg
  • Tu peux aussi appliquer à ton article un template spécifique qui contient ce code php si tu veux qu'il soit exécuté.
  • kowalsky a écrit:
    Tu peux aussi appliquer à ton article un template spécifique qui contient ce code php si tu veux qu'il soit exécuté.

    Bonsoir
    tu as un exemple ? ou une méthode à appliquer ?
    à bientôt
  • kowalskykowalsky Member
    avril 2016 modifié
    Le contenu d'un article est affiché sous forme textuelle par la fonction <?php $plxShow->artContent(); ?> dans le template article.php.
    [== article.php ==]
    			<article class="article" role="article" id="post-<?php echo $plxShow->artId(); ?>">
    
    				<header>
    				...
    				</header>
    
    				<section>
    					<?php $plxShow->artThumbnail(); ?>
    					<?php $plxShow->artContent(); ?>
    				</section>
    
    				<footer>
    				...
    				</footer>
    
    			</article>
    

    Pour que ton code php soit exécuté, il ne faut donc pas que celui-ci soit considéré comme du texte. Tu as donc besoin d'utiliser un template alternatif dans le quel tu auras inséré ton code php.
    En faisant attention à sa position en fonction du rendu désiré : pour un affichage sans surprise avant ou après le contenu de l'article, il vaut mieux que ce soit à l'intérieur de la balise section; sinon à toi de voir.
    [== article-hello.php ==]
    			<article class="article" role="article" id="post-<?php echo $plxShow->artId(); ?>">
    
    				<header>
    				...
    				</header>
    
    				<section>
    					<?php $plxShow->artThumbnail(); ?>
    					<?php $plxShow->artContent(); ?>
    
    					<?php
    					echo 'Hello tous <br />'."\n";
    					echo 'Hello World <br />';
    					echo "\n";
    					?>
    				</section>
    
    				<footer>
    				...
    				</footer>
    
    			</article>
    


    La procédure pour faire cela est décrite plus en détail sur le wiki Créer son propre thème pour Pluxml et en page 46 de la documentation utilisateur.
    1) Les templates pour les articles
    Chacun de vos articles peut utiliser son propre template (si votre thème le propose).
    Par exemple, sur le thème par défaut de PluXml, vous avez la possibilité de choisir de présenter votre article en pleine page, avec ou sans le bandeau de droite appelé sidebar. Vous disposez des templates article-full-width.php et article.php.
    Pour choisir un template d'article, éditez un article, puis dans la colonne des options, sélectionnez dans la liste déroulante Template le nom du template à utiliser. Cliquez sur le bouton Publier pour valider vos changements.

    [...]

    4) Créer un template
    Pour créer un template, éditez un nouveau fichier php dans le dossier de votre thème
    Le nom d'un template est normalisé:
    Template pour la page d'accueil : home-xxx.php
    Template pour un article : article-xxx.php
    Template pour une categorie : categorie-xxx.php
    Template pour une page statique : static-xxx.php

    Un fichier template doit toujours commencer par home-, article-, categorie- ou static- et se terminer par l'extension .php Remplacez xxxx par le texte de votre choix pour identifier facilement vos templates.


    (C'est ce que tu as dû faire avec ta page statique de test pour que le code php s'exécute, parce que sinon tu aurais vu ton code php s'afficher en texte et non s'exécuter)

    Édit : au passage, si par "intégrer du code php dans les articles" il faut comprendre "dans TOUS les articles", alors il te suffit simplement de modifier article.php. Si c'est pour intégrer du code occasionnellement pour un ou plusieurs articles, alors l'utilisation d'un template alternatif est bien ce qu'il faut faire.
  • Bonjour @kowalsky

    merci pour ces explications. :)
    ça devient assez clair maintenant.

    j'ai fait un template selon tes indications

    dans section j'ai mis en commentaire
    <!-- <?php $plxShow->artThumbnail(); ?>
    <?php $plxShow->artContent(); ?>
    -->
    et j'ai rajouté mon code html et php qui va me lire ma base de données et m’afficher le tableau (encore à l'état brut) mais il me fallait comprendre le principe

    ce qui donne vim-tableau-des-principales-commandes

    merci de tes conseils

    bien cordialement !
Connectez-vous ou Inscrivez-vous pour répondre.