Afficher le dernier article dans la sidebar sur des pages statiques
C.Catarina
Member
dans Entraide
Bonjour,
J'ai hésité à relancer cette discussion tant elle se rapproche de mon souci.
Pour ma première utilisation de PluXml (v5.0.2), j'ai fait un site de type "vitrine", constitué de 5 ou 6 pages statiques, pour une personne peu versé dans ce type d'outil. J'ai adapté un thème (theme-piano-black-2), le site est presque prêt (menu, pages, etc.), reste un dernier problème.
A priori, dans mon cas, le moteur de type blog (articles, catégorie, historique, commentaires) n'aurait pas d'usage.
Sauf que, je souhaite afficher le dernier article (seulement lui) dans la sidebar. pour que cette personne puisse mettre à jour ce texte simplement, avec l'interface d'administration (il s'agit juste de quelques mots du genre : "La promotion de la semaine" à changer régulièrement).
Dans le fichier sidebar.php de mon thème, bien dégraissé, j'ai ajouté le bloc suivant :
- http://127.0.0.1/blog.php
- http://127.0.0.1/index.php?article1/premier-article
- http://127.0.0.1/index.php?categorie1/rubrique-1
Ça ne marche pas si je reviens à l'accueil (configuré pour afficher une page statique) ou que j'affiche une page statique via le menu, soit avec des URL du type :
- http://127.0.0.1/
- http://127.0.0.1/index.php?static3/pagesite1
Pire, le source de la page renvoyée dans ce cas se termine brutalement après <div class="information-contents">.
Je suppose donc que l'appel à $plxShow->artContent(); ne se fait pas, dans ce cas, dans un contexte correct; et je me pose des questions à propos de ceci, lu dans la documentation :
La solution passe surement par un usage correct du moteur comme indiqué dans cette page, mais un peu d'aide serait bienvenue.
Merci d'avance
J'ai hésité à relancer cette discussion tant elle se rapproche de mon souci.
Pour ma première utilisation de PluXml (v5.0.2), j'ai fait un site de type "vitrine", constitué de 5 ou 6 pages statiques, pour une personne peu versé dans ce type d'outil. J'ai adapté un thème (theme-piano-black-2), le site est presque prêt (menu, pages, etc.), reste un dernier problème.
A priori, dans mon cas, le moteur de type blog (articles, catégorie, historique, commentaires) n'aurait pas d'usage.
Sauf que, je souhaite afficher le dernier article (seulement lui) dans la sidebar. pour que cette personne puisse mettre à jour ce texte simplement, avec l'interface d'administration (il s'agit juste de quelques mots du genre : "La promotion de la semaine" à changer régulièrement).
Dans le fichier sidebar.php de mon thème, bien dégraissé, j'ai ajouté le bloc suivant :
<div class="information-contents">
<?php $plxShow->artContent(); ?>
</div>
Ça fonctionne uniquement quand j'affiche des pages de type "article" (ce qui n'arrivera jamais, j'ai laissé ce type d'affichage pour tester), par exemple, avec des URL du type :- http://127.0.0.1/blog.php
- http://127.0.0.1/index.php?article1/premier-article
- http://127.0.0.1/index.php?categorie1/rubrique-1
Ça ne marche pas si je reviens à l'accueil (configuré pour afficher une page statique) ou que j'affiche une page statique via le menu, soit avec des URL du type :
- http://127.0.0.1/
- http://127.0.0.1/index.php?static3/pagesite1
Pire, le source de la page renvoyée dans ce cas se termine brutalement après <div class="information-contents">.
Je suppose donc que l'appel à $plxShow->artContent(); ne se fait pas, dans ce cas, dans un contexte correct; et je me pose des questions à propos de ceci, lu dans la documentation :
Comment augmenter sa portée pour qu'elle fonctionne aussi dans le cas des pages statiques ?Classe plxShow - Fonction artContent
Portée de la fonction : home,categorie,article
La solution passe surement par un usage correct du moteur comme indiqué dans cette page, mais un peu d'aide serait bienvenue.
Merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si je comprends bien tu souhaites afficher des textes type "news" en sidebar sans utiliser la partie blog ?
J'avais donné une astuce dans le Blog qui permet d'afficher des commentaires dans une page statique.
Tu peux très bien t'en inspirer en enlevant le nom de l'auteur dans l'appel des derniers commentaires pour une page statique.Les commentaires seront ainsi tes "news" que tu pourras mettre a jour juste en envoyant un autre commentaire, Tu bloque le nombre de commentaires et ca roule...
Je vais court-circuiter la réponse de Frédéric pour te donner ma solution
Dans la sidebar ajoute le code suivant:
ça t'affichera le contenu du dernier article: tout simplement
tu peux mettre aussi des choses dans ce genre:
En fait tu disposes de plusieurs variables pour formater l'affichage:
#art_id : id de l'article
#art_url : url de l'article
#art_author : nom de l'auteur de l'article
#art_title : titre de l'article
#art_content : contenu de l'article
#art_content(num) : contenu de l'article restreint à n caractères (remplacer num par un chiffre)
#art_date : la date de publication de l'article
#art_hour : l'heure de publication de l'article
#cat_list : la(les) catégorie(s) de l'article
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Ce petit bout de code suffit à produire le résultat (presque) attendu : Je dis "presque" car un détail me chagrine encore; la mise en forme (<strong>, <center>) stockée dans le texte de l'article, et visible si l'article est affiché normalement (ou par le $plxShow->artContent(); que j'avais tenté), est perdue avec cet affichage.
Et cela ne m'explique pas pourquoi cette fonction lastArtList fonctionne, alors que artContent ne fonctionne pas ...
Mais en creusant le tuto de Frédéric (et la doc), j'ai trouvé une autre solution qui, elle, permet de prendre en compte le formatage défini à l'édition. Le seul défaut de cette approche est qu'elle m'impose de définir le numéro de la page statique "en dur" dans le fichier sidebar.php.
Serait-il possible d'y faire référence par son titre ou son URL ?