Modifier le titre du titre des pages dans Drupal 7 par chemin

8

Je dois changer le titre des pages de Drupal 7 par chemin. NON à tous les types de contenu. Je dois changer la tête du titre en une page spécifique générée avec des vues.

Par exemple, j'ai un site http://www.mysite.com

<title>My favorite website </title>

J'ai besoin des pages pour:

http://www.mysite.com/test

<title> My test today </title>

http://www.mysite.com/examples

<title> My examples for share </title>

Merci.

cabita
la source
Je ne suis pas sûr de ce que vous entendez par «changer la tête du titre en un nœud spécifique». Pourriez-vous clarifier s'il vous plaît? Deux modules communs qui aident dans ce domaine sont drupal.org/project/pathauto et drupal.org/project/auto_nodetitle Vous pouvez les vérifier et s'ils ne fonctionnent pas, expliquez en quoi votre cas d'utilisation est différent de ceux de ces modules communs manipuler.
Patrick Kenny
Je me réfère à la "tête de titre" qui apparaît dans les balises META. Le titre affiché dans les onglets du navigateur. Merci.
cabita

Réponses:

11

Voici comment je l'ai fait dans Drupal 7.

Dans template.php:

function YOUR_THEME_preprocess_page(&$vars){
  $path = $_GET['q'];

  if (strpos($path,'YOUR_PATH_STRING') !== false) {
    drupal_set_title('YOUR_TITLE');
  }
}

Par exemple, si votre chemin d'accès était yoursite.com/boogabooga, vous devez définir 'YOUR_PATH_STRING'"boogabooga" et 'YOUR_TITLE'ce que vous voulez que le titre de la page soit.

piles
la source
cela ne fonctionne pas pour hook_preprocess_user_profile
Francisco Corrales Morales
Quelle pourrait être la chaîne à écrire pour cibler la page <front>?
Mars
14

Il semble que votre ensemble limité de pages puisse implémenter THEME_preprocess_html()et examiner le chemin d'URL et remplacer $vars['head_title']. Voir cet article de blog à titre d'exemple: comment définir un titre de page personnalisé dans Drupal 7

Si vous avez des modèles pour le titre de la tête, essayez Titre de la page

tenken
la source
J'ai vu le message et j'ai une question, si je veux attribuer un "titre de tête" aux chemins spécifiques. Tous les chemins n'auront pas le même titre. Par exemple, j'ai besoin de mysite.com/test le <title> est "Mes tests" et j'ai une autre page mysite.com/examples j'ai besoin de ce <title> "Exemples à partager". Ce code est-il utile à cet effet? J'ai mis à jour mon message.
cabita
Le message de @cabita Tenken couvre votre cas d'utilisation. Outre ce qu'il a déjà mentionné, vous pouvez également utiliser le module Balises Meta . Les 3 options vous permettent de définir le titre de la tête pour les pages de nœuds spécifiques que vous souhaitez sans toucher au reste.
Madis
J'ai essayé avec des balises META et permettre de changer la tête du titre pour des pages spécifiques mais pas pour des pages spécifiques générées par les vues. Je mettrai à jour ma question à nouveau. Je suis désolé.
cabita
@cabita Avez-vous également essayé le titre de la page ? Il prétend au moins avoir l'intégration des vues. Si cela ne fonctionne pas, vous pouvez simplement aller de l'avant et le faire dans le code (il est facile de restreindre les modifications à des pages spécifiques uniquement en utilisant $ _GET ['q'] ou arg () pour vérifier le chemin).
Madis
Je l'ai fait dans le code. Vous avez raison, il est facile de restreindre les modifications à des pages spécifiques uniquement en utilisant $ _GET ['q'] ou arg ().
cabita