web-dev-qa-db-fra.com

Modifier le titre de la page sur Ajouter Node Page

Quel crochet/filtre dois-je utiliser pour modifier le titre de la page "Ajouter un nœud" (ce titre)? Par exemple, lorsque vous affichez "/ node/add /", je souhaite changer le titre de "Créer" en "Ajouter nouveau"

7
Citricguy

Il y a plusieurs façons différentes de le faire, mais la façon dont vous avez demandé utiliserait hook_form_alter () :

<?php
function custom_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'mynodetype_node_form') {
    drupal_set_title('My new title');
  }
}
?>

Ce serait dans un module personnalisé nommé custom.module ... drupal_set_title (), lorsqu'il est appelé n'importe où dans le chargement de la page, définira le titre de manière appropriée. En gros, vous vous connectez au processus de rendu de formulaire de nœud et vous dites `` définissez le titre sur ce que je veux ''.

Si vous souhaitez différencier davantage le titre selon que l'utilisateur crée un nouveau nœud ou modifie un nœud existant, utilisez la fonction Devel module dpm () du module pour imprimer le tableau $ form_state, et vérifiez s'il y a déjà un ID de nœud ou non - s'il y en a un, vous modifiez un nœud; sinon, vous créez un nouveau nœud. Définissez le titre de manière appropriée.

Bien que hook_form_alter () soit probablement la page la plus robuste (au cas où quelqu'un afficherait le formulaire d'ajout de noeud ailleurs que dans node/add/[type]), vous pouvez également vérifier le chemin dans hook_init () et y définir le titre, ou à partir d'une variété d'autres endroits (dans Drupal 7, hook_page_alter () peut-être).

15
geerlingguy

J'ai eu le même problème et j'ai dû écrire un module pour ça.

Vous pouvez trouver mon module contribué Node Add Title for Drupal 7

Node Add Title vous permettra de modifier le titre des pages de création de nœuds et des pages d'édition de nœuds.

J'espère que cela peut aider.

4
GoingDrupal