Voici un code assez pratique qui vous permet de changer le titre de la page au sein d’un plugin. C’est d’autant plus pratique que cela peut mettre à jour votre style de page en même temps (si vous avez un typoscript qui affecte à une balise <hx> le titre de la page). Ce code peut être intéressant pour répondre aux contraintes d’accessibilité en changeant le titre de la page lorsque l’on navigue entre différents enregistrements. Il est par exemple utilisé dans tt_news.

function changePageTitle ($new_title) {
    // Caution : you do not must be in user_int because it doesn't work
    $GLOBALS['TSFE']->page['title'] =  $new_title;
    // set pagetitle for indexed search to news title
    $GLOBALS['TSFE']->indexedDocTitle =  $new_title;
}

Attention (très important) : j’ai passé quelque temps au début à essayer ce code sans qu’il ne marche. J’ai alors découvert la raison qui faisait que mon titre ne changeait jamais : mon extension était en USER_INT. Si on souhaite changer le titre de page, l’extension doit obligatoirement être en USER. Si votre plugin est en USER_INT et que vous souhaitez quand même accéder au titre de la page, on peut opérer de la manière suivante (personnellement je déconseille ce type de procédé, mais je le donne à titre informatif)

$GLOBALS['TSFE']->content = preg_replace(
  '@<title>(.+):(.*)</title>@i',
  '<title>$1: '.$my_header.' | $2</title>',
  $GLOBALS['TSFE']->content);

Partager :


Article(s) sur le même sujet :

  1. Générer le rendu d’un contenu en TS et dans un plugin en TYPO3
  2. Effectuer des requêtes dans un plugin/module TYPO3
  3. Utiliser Fluid dans un plugin tslib_pibase
  4. Récupérer la configuration d’un autre plugin
  5. Récupérer la rootline d’une page donnée en TYPO3