Contenu HTML & affichage des derniers articles sur la page d'accueil

DaimkoDaimko Member
juillet 2017 modifié dans Entraide
Bonjour,

Je souhaiterai afficher le titre d'une page statique spécifique dans la balise <title>.
Cette fonction ne permettant pas d'y parvenir comme j'aurai pu le croire : <?php $plxShow->staticTitle('001') ?>

Merci d'avance pour votre aide.

Réponses

  • C'est pourtant ce que fait le thème par défaut. Le fichier header.php contient la balise HTML pour afficher correctement la metavariable <title>

    La valeur poussée dépend de la nature de la page. Dans le cas d'une page statique, on y voit le nom de la page statique, un tiret - puis le nom général du site tel que réglé dans l'admin. Le rendu ressemble alors à:
    [== HTML ==]
    <head>
    ...
    <title>Statique1 - Mon site PluXml</title>
    ...
    </head>
    
  • Bonsoir,

    Merci pour votre réponse rapide.
    Je m'explique un peu plus clairement : Je souhaite afficher le titre d'une page statique spécifique dans les balises title de mon fichier home.php
    Autrement dit, est-il possible de récupérer le title d'une page spécifique à l'aide de son ID à partir d'une autre page ?
  • Alors, voilà le problème. La balise <title> est installée par défaut dans le fichier header.php pour correctement produire son contenu peu importe quel type de page est affiché. Le rendu HTML de cette balise correspond à la page que le visiteur vient d'afficher, elle n'a aucune utilité pour un futur affichage dans un lien <a> par exemple. Quand la page arrivera, elle aura généré sa propre balise <title>, la bonne à ce moment-là.

    Au moment de l'affichage de la page de type "home", le contenu est "Mon site PluXml"

    Au moment de l'affichage des autres pages, une description plus précise se glisse au début, comme dans l'exemple "Statique 1 - Mon site PluXml"

    La mème chose arrive avec les autres types comme les catégories, les articles, etc. Si la méthode par défaut ne fait pas l'affaire, tout est possible. Il faut simplement décrire le comportement désiré.
  • Merci pour votre réponse détaillée.

    L'idée est la suivante : pouvoir mettre en tant que title de la home (headerhome.php) le titre de la page statique 001.
    J'étais parti sur cette idée : <title><?php $plxShow->staticTitle('001') ?></title> mais cette fonction ne prend pas de paramètre en compte.
  • La fonction de la metadonnée title est d'identifier la page rendue en HTML, les pages php ne servent qu'à les produire. La page header.php contient la ligne

    <title><?php $plxShow->pageTitle(); ?></title>

    qui génère un contenu contextuel selon la page qui doit être rendue. La fonction staticTitle() produit le titre tiré du formulaire, un peu comme un article, elle est lancée bien après que toutes les métadonnées soient générées.

    Un truc (parce qu'il y en a toujours un) est de retirer l'appel au gabarit header.php dans la page static.php en haut

    <?php include(dirname(__FILE__).'/header.php'); ?>

    et le remplacer par le contenu total du fichier header.php

    Il est alors possible de changer la valeur de la métadonnée dans la ligne mentionnée ci-haut pour

    <title><?php $plxShow->staticTitle(); ?></title>

    Les autres pages ne seront pas affectées, seules les statiques qui utilisent le gabarit static.php. Si jamais le comportement ne touche qu'une seule page statique et ne doit pas affecter les autres, simplement créer un gabarit spécifique, du genre static-titrespecifique.php
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    [== PHP ==]
    <?php echo $plxShow->plxMotor->aStats['001']['title_htmltag']; ?>
    
    Si tu veux en savoir plus rajoute provisoirement ceci dans une page php de ton thème:
    [== PHP ==]
    <pre><code
    <?php print_r($plxShow->plxMotor->aStats); ?>
    </code></pre>
    
    Bizarre cette idée! Il vaut un titre dédiée à chaque page
  • DaimkoDaimko Member
    juillet 2017 modifié
    Bonjour,

    Merci pour vos réponses complètes.

    Je vous explique le principe que je souhaite mettre en place : ma page d'accueil est sous la forme classique de PluXML à savoir une liste d'articles avec leur thumbnail et leur chapo correspondant. L'idée est d'ajouter du contenu sur cette page d'accueil sans avoir à aller modifier dans le code.

    Pour répondre à cette problématique, j'utilise la page statique 001 et j'affiche son contenu sur la page d'accueil après la fin de la boucle des articles. Bien entendu, pour éviter le duplicat content, je crée un nouveau fichier static-nofollow.php dans lequel j'ajoute quelques lignes : une redirection 301 & un attribut no follow & no index.

    Dans cette même optique, je souhaiterai que le titre de la page statique 001 soit placé dans la balise <title> de la page d'accueil.

    En espérant que l'idée soit plus claire !

    Edit : J'ai enfin résolu mon problème en plaçant dans mon home.php la ligne suivant :
    <title><?php echo $plxShow->plxMotor->aStats['001']['name']; ?></title>
    

    Merci pour votre gentillesse et à très bientôt.
  • C'est garanti qu'il existe une méthode plus simple pour arriver à ce qui est désiré, ce que je ne comprends toujours pas. J'abandonne pour l'instant en attendant d'avoir un site public, un problème, etc.

    La page d'accueil (comme les autres) est totalement prévue pour recevoir des changements futurs sans nécessiter d'aller jouer dans le code. C'est pourquoi PluXml existe, comme les autres CMS. Ma méthode de prédilection est d'utiliser les articles sous toutes sortes de visages, leur flexibilité permet de les présenter sous n'importe quelle forme et de les modifier uniquement dans l'admin.
  • N'hésitez pas à proposer votre solution quand vous aurez un moment ! ;)

    L'idée étant d'avoir une page statique ou un article comme page d'accueil avec les possibilités suivantes :
    - afficher les derniers articles publiés
    - ajouter du contenu html
    - éditer la balise title dans son intégralité (sans suffixe donc)

    Bonne après-midi !
  • On n'a pas une page statique ou un article comme page d'accueil, on a une page d'accueil et on y met ce que l'on veut bien. Ce contenu peut être très statique, très dynamique ou un heureux mélange des deux. Une page statique est une page qui ne correspond pas aux critères d'une page de catégorie ou une page d'article.

    - La page d'accueil affiche les derniers articles publiés depuis la version 0.0.1
    - Tout devient du contenu HTML quand ça arrive à l'écran
    - La balise title est dirigée par le champs de titre dans l'admin à la rubrique "Configuration de base"

    Pas de site + pas de problème précis = pas de solution précise
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Avec les dernières publications, c'est un peu clair.

    Pour rappel les articles sont triés par ordre inversé de publication sur la page d'accueil.
    Parfois, on souhaite qu'un article reste présent en tête de la page d'accueil, même si d'autres articles sont publiés après.
    Cela s'appelle "Epingler un article".
    L'avantage par rapport à ta page statique que tu insères dans la page d'accueil, c'est que tu peux afficher un résumé (chapô) pour inciter à aller vers l'article complet et plus détaillé.
    L'astuce consiste à rattacher l'article à une catégorie particulière dont les articles sont toujours affichés avant les autres.
    J'ai modifié le code de PluXml 5.5 dans ce sens, il y a moins 2 ans et c'est fort pratique. La modification sur la page d'accueil est triviale puisqu'il suffit juste de raccrocher l'article à la bonne catégorie.
    J'avais proposé les modifs pour la version suivante de PluXml mais malheureusement cela n'a pas été accepté bien qu'on voit ce problème ressurgit régulièrement.

    Comme dit Pierre, il vaut mieux passer par des articles.

    Mauvaise idée de mettre une info intéressante en bas de page. Les visiteurs sont en principe trop paresseux pour aller lire réguliererment les bas de page.
  • Merci pour vos réponses, effectivement l'idée des articles peut être plus adaptée. :)
Connectez-vous ou Inscrivez-vous pour répondre.