web-dev-qa-db-fra.com

Comment définir l'en-tête de page via l'API Joomla?

Je peux définir les méta-descriptions et les méta-mots-clés comme suit:

<?php
  $document = JFactory::getDocument();
  $document->setDescription("a meta description");
  $document->setMetaData('keywords', 'some,keywords');
?>

Existe-t-il une méthode similaire pour définir le titre de la page? Par "en-tête de page", je fais référence au champ "En-tête de page" de l'élément de menu (voir ci-dessous) qui, généralement (en fonction du modèle que vous utilisez), donne un en-tête H1 en haut du contenu.

enter image description here

1
Neil Robertson

vous pouvez définir cette variable comme suit:

$this->params->set('page_heading', "garr, I be a page heading");

Assurez-vous que vous insérez ce code avant le page_header Est chargé, car le configurer après le chargement signifie qu'il se chargera en premier, avec la valeur existante, puis que vous le définissez après, mais vous ne l'avez pas dit de mettre à jour. Si vous devez le définir après, vous devrez alors appeler à nouveau le page_heading. Je pense que le charger avant l'appel initial est préférable dans la plupart des cas.

Pour comprendre où le page_header Est chargé, regardez l’autre réponse à cette question, qui explique comment charger le page_header. Par exemple sur ma page de blog, il est

echo $this->escape($this->params->get('page_heading'));

4
Eoin

titre de la page Joomla Dynamic

$document = JFactory::getDocument();

$document->setTitle('your title');      
2
Josef Amalraj