J'utilise le pagetitle
module principal pour afficher le titre d'une page. Cependant, pour certains types de contenu, je veux que lepagele titre principal doit être le libellé du type de contenu (par exemple "News") et non le libellé du nœud (par exemple "Drupal 8 sorti!").
Existe-t-il un moyen simple d'y parvenir? Ma première supposition a été d'utiliser le template_preprocess_page_title
mais $variables
n'a aucun contexte sur le nœud, le type de nœud, etc ...
Réponses:
Comme mentionné par Ivan Jaros Vous pouvez utiliser
hook_preprocess_page_title
.Il vous suffit de charger le nœud à partir de la route d'abord, pour obtenir un peu de contexte.
Si vous souhaitez simplement utiliser cela avec certains types de contenu, vous pouvez utiliser
$node->bundle()
pour obtenir le nom lisible par machine et le vérifier.la source
block_title
. Cependant, il ne remplace pas le titre de la page. Toute idée comment obtenir le titre de la page à la même valeur que le bloc de titreLinus l'a fait pour la fonction de prétraitement, mais je l'utiliserais personnellement pour obtenir le nœud actuel (car il est plus court et semble plus facile ...)
Ensuite, pour accéder au titre du nœud, utilisez:
ou pour accéder à un autre champ personnalisé (avec une valeur):
En fait, accédez à tout comme vous accéderiez à ces données dans une fonction de prétraitement de nœud régulière :)
la source
Utilisez le module Metatag, il est déjà prêt pour D8 et prend en charge ce dont vous avez besoin.
la source
Faites un petit module. Deux fichiers requis:
Nom du fichier: liveeventtitles.info.yml
Fichier: liveeventtitles.module
J'ai probablement plus que ce dont j'ai besoin, comme je ne pense pas avoir besoin d'une valeur par défaut et d'un PLACEHOLDER dans hook_form_alter (), mais je dois donner à quelqu'un une raison de voter contre (-;
la source
Dans THEMENAME_preprocess_html (& $ variables) {}, il y a $ variables ['head_title'] qui est l'instance la plus élevée pour le titre de la page (Titre structuré: $ variables ['head_title_array']). Il existe également d'autres clés de tableau intéressantes comme $ variables ['page'] ['content'] et $ variables ['node_type'] en fonction desquelles le titre peut être traité.
Pensée finale: $ variables ['head_title'] = ['title_part1', 'title_part2']; puisque dans le html.html.twig
la source