Inserer du php dans une page statique
J'ai une petite question sur le code php qu'on inserer dans une page statique.
Que peux t'on inserer exactement?
J'arrive a installer du code du genre:
Mais quand je mets un truc du genre:
Ben ca marche pas et la page devient blanche
est-ce donc qu'on peux mettre du code php de base mais on ne peut pas appeler les fonctions de Pluxml?
Que peux t'on inserer exactement?
J'arrive a installer du code du genre:
[== PHP ==]
<?php Echo "Bonjour vous!" ; ?>
Mais quand je mets un truc du genre:
[== PHP ==]
<?php $plxShow->staticInclude('1') ?>
Ben ca marche pas et la page devient blanche
est-ce donc qu'on peux mettre du code php de base mais on ne peut pas appeler les fonctions de Pluxml?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il faut déclarer $plxShow
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Quel documents je dois lire pour savoir ce genre de petit detail? La documentation utilisateur ne parle pas de ca du tout
Donc il faudrait éviter de mettre du code PHP dans la page statique, il arrive souvent qu'on puisse avoir le même résultat sans code PHP au milieu des données mais en regroupant le code dans des extensions par exemple.
Donc c'est pour ça que cela n'est pas ce qui est le plus conseillé. Si tu veux améliorer ton site, renseignes toi sur comment on crée une extension.
http://wiki.pluxml.org/
dans le thème que tu utilises, fait une copie de "static.php" et renomme la sous la forme "static-xxx.php" (avec ce que tu veux à la place des xxx, cf. explication dans la documentation utilisateur, section IX. Les templates)
édite ensuite cette page, et rajoute ton code php entre les balises "sections" de la partie "article".
A moins que tu n'aies déjà trop trituré la page, cela doit ressembler à ceci : <!-- insérer le code PHP ici -->
et pour la liste des fonctions de PluXml que tu peux utiliser ensuite, ça se passe là : http://devzone.pluxml.org/index.php?page=plxShow
En fait j'ai un peu fait la solution que tu recommandes kowalsky.
Ce que je voulais faire:
Sur la page principale de mon site je veux une lien qui redirige vers le dernier poste du blog...
Compliquer comme je suis j'ai donc cree une page statique avec le code PHP qui va bien dedans et dans le fichier static.php de mon theme j'ai rajouter ce code.
Suite a vos commentaires je vais plutot integrer le code de ma page statique directement dans le static.php. Cette solution etait bien trop simple pour mon cerveau
merci
De la même façon que pour la page statique, fais en une copie et renomme la "home-xxx.php", ensuite va dans "Paramètres -> Options d'affichage" et choisi celle-ci comme "Template de la page d'accueil"
Et c'est donc dans cette page "home-xxx.php" que tu rajoutes ton code.
D'autre part,
tu veux insérer un lien (vers une page ou un article) ou afficher le dernier article (mais là c'est ce que fait la page home par défaut) ou afficher une page statique ? La fonction a utiliser étant différente à chaque fois...
Parce que le code que tu indiques ne renvoie pas sur le dernier article du blog, mais affichera la page statique dont l'identifiant est 2.
Voila ce que j'ai fait au final
Renommer le fichier static.php en static-homepage.php et dedans j'ai rajouter le code suivant
Dans la page statique que j'utilise comme page home j'utilise cette nouvelle page comme template.
Je dois avouer que j'ai un peu de mal a comprendre comment tous ces fichiers php s'arrangent entre eux. Je comprends de plus en plus a force de triturer mon theme mais c'est dure des fois
Tu as raison. j'ai oublié cette faculté de pluxml
Tu peux éventuellement simplifier ton code :
Au passage, je ne sais pas si c'est fait exprès, mais tu as une lettre "i" qui se balade à la fin de ton menu principal dans header.php:
(et puisqu'on parle du header, une autre possibilité serait d'inclure ton code juste après le </nav>, si tu souhaites afficher ton lien vers le dernier article sur toutes les pages de ton site)
Je ne veux afficher ce lien que sur les page home donc pas dans le header.
Merci kowalsky, Stephane et Matthieu pour votre aide. J'ai beaucoup appris dans cet echange!