Mettre que le titre de l'article dans la balise title de l'article

Bonjour, par défaut pluxml génère la balise title de la façon suivante pour un article :
[== HTML ==]
<title>Titre de l'article - Titre du blog</title>

Est-il possible de dire facilement à pluxml de ne mettre que le titre de l'article dans la balise title ?
[== HTML ==]
<title>Titre de l'article</title>

Je sais que la balise qui génère la balise title se trouve dans le header, cette ligne en particulier :
[== PHP ==]
<title><?php $plxShow->pageTitle(); ?></title>
Un réglage plus fin est possible sur le titre ?
Merci pour vos réponses :)

Réponses

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Bonjour,

    Tu as la réponse à ta demande entre les balises <header> du fichier header.php du thème par défaut :
    [== HTML ==]
    <title><?php $plxShow->mainTitle(); ?></title>
    

    A++
  • Merci mais après test de :
    [== HTML ==]
    <title><?php $plxShow->mainTitle(); ?></title>
    
    Ce code affiche dans la balise title le titre général du blog, du coup le titre de l'article n'est plus dans la balise title quand on va sur un article et tous les articles se retrouvent avec la même balise title celle du titre du blog (l'inverse de ce que je veux, éviter la répétition du titre du blog sur tous les articles).
    Je crois que cela va être plus compliqué que cela car en voyant le wiki on a 3 options pour la balise title :
    - pageTitle (qui mixe titre de l'article + titre du blog)
    - mainTitle (qui met que le titre du blog)
    - subTitle (qui met le sous-titre du blog)

    Il n'y a donc pas de fonction directe (sauf erreur de ma part) prévue pour afficher que le titre de l'article, enfin si il y en a une :
    [== PHP ==]
    <?php $plxShow->artTitle() ?>
    
    mais vu que le header est général, il doit falloir prévoir le cas où la page n'est pas un article, c'est en cela que cela risque d'être plus compliqué, j'imagine qu'il doit falloir écrire un code qui prévoit les différents cas de figures (article, page statique, page d'accueil, tag, catégorie...).
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    novembre 2015 modifié
    Il te faut modifier le code de la fonction pageTitle() dans le script core/lib/class.plx.show.php.
    Repères l'endroit où il y un test sur "$this->plxMotor->mode == 'article'" et vires les occurences de
    "$this->plxMotor->aConf..." comme ceci :
    [== PHP ==]
    		if($this->plxMotor->mode == 'article') {
    			$title_htmltag = trim($this->plxMotor->plxRecord_arts->f('title_htmltag'));
    			if($title_htmltag!='')
    				echo plxUtils::strCheck($title_htmltag);
    			else
    				echo plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('title'));
    			return;
    		}
    
  • Un truc comme ça ?
    [== PHP ==]
    <title>
        <?php if ($plxShow->mode()=='article') {
                 $plxShow->artTitle();
                }
              else $plxShow->pageTitle(); ?>
    </title>
    


    à plus,

    Gzyg
  • bazooka07 a écrit:
    Il te faut modifier le code de la fonction pageTitle() dans le script core/lib/class.plx.show.php.
    Repères l'endroit où il y un test sur "$this->plxMotor->mode == 'article'" et vires les occurences de
    "$this->plxMotor->aConf..." comme ceci :
    [== PHP ==]
    		if($this->plxMotor->mode == 'article') {
    			$title_htmltag = trim($this->plxMotor->plxRecord_arts->f('title_htmltag'));
    			if($title_htmltag!='')
    				echo plxUtils::strCheck($title_htmltag);
    			else
    				echo plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('title'));
    			return;
    		}
    

    Merci mais pour ma part je préfère éviter d'aller modifier dans le "core" car après chaque mise à jour cela peut être une source de problème.
    Donc tant pis, après je ne sais pas si le fait de ne pouvoir afficher que les titres des articles dans la balise title au lieu de "titre article+titre blog" intéresse d'autres personnes ? C'est plus une pensée SEO en me disant que la répétition du titre du blog sur toutes les pages n'apporte rien au niveau SEO voire fait peut-être perdre de l'importance au titre réel des articles vis à vis de google.
    L'autre solution c'est un titre de blog assez court pour que cela représente peu dans le titre globalement généré par pluxml.
  • Gzyg a écrit:
    Un truc comme ça ?
    [== PHP ==]
    <title>
        <?php if ($plxShow->mode()=='article') {
                 $plxShow->artTitle();
                }
              else $plxShow->pageTitle(); ?>
    </title>
    


    à plus,

    Gzyg

    Alors là, félicitations, je viens de tester en changeant cela dans le header, cela marche nickel, exactement ce que je voulais faire ! :)
    J'aurais pensé qu'il y ait plus de code / cas de figures à prévoir (archives, tags...), en fait au vu de ton code, que ce soit pages/tags/archives, c'est le même cas de figure en fait, moins compliqué que j'aurais imaginé.
    Merci encore, jai testé articles/pages/tags/archives cela a le bon comportement et cette petite requête supplémentaire ne semble pas ralentir du tout le CMS (j'ai un peu plus de 1000 articles) :)
  • PierrePierre Member
    novembre 2015 modifié
    Ma foi, quel petit truc génial dont l'utilité n'a d'égal que sa simplicité!
  • Bah, félicitations à Stéphane surtout qui m'a donné le truc sur un post récent. :)


    à plus,

    Gzyg
Connectez-vous ou Inscrivez-vous pour répondre.