Cambia il titolo delle pagine in Drupal 7 per percorso


8

Devo cambiare il titolo delle pagine in Drupal 7 per percorso. NOt per tutti i tipi di contenuto. Devo cambiare l'intestazione del titolo in una pagina specifica generata con viste.

Ad esempio, ho un sito http://www.mysite.com

<title>My favorite website </title>

Ho bisogno di per le pagine:

http://www.mysite.com/test

<title> My test today </title>

http://www.mysite.com/examples

<title> My examples for share </title>

Grazie.


Non sono sicuro di cosa intendi con "cambia la testata del titolo in un nodo specifico". Potresti chiarire per favore? Due moduli comuni che aiutano in quest'area sono drupal.org/project/pathauto e drupal.org/project/auto_nodetitle Potresti verificarli e se non funzionano, spiegare come il tuo caso d'uso è diverso da quelli di questi moduli comuni maniglia.
Patrick Kenny,

Mi riferisco alla "testata del titolo" che appare nei meta tag. Il titolo visualizzato nelle schede del browser. Grazie.
cabita

Risposte:


11

Ecco come l'ho fatto in Drupal 7.

In template.php:

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

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

Ad esempio, se il tuo percorso era yoursite.com/boogabooga, allora dovresti impostare 'YOUR_PATH_STRING'su 'boogabooga' e 'YOUR_TITLE'su qualunque cosa tu voglia essere il titolo della pagina.


questo non funziona per hook_preprocess_user_profile
Francisco Corrales Morales

Quale potrebbe essere la stringa da scrivere per il targeting della pagina <front>?
Marte

14

Sembra che la tua serie limitata di pagine possa implementare THEME_preprocess_html()ed esaminare il percorso dell'URL e sovrascrivere $vars['head_title']. Vedi questo post del blog come esempio: come impostare il titolo della pagina personalizzata in Drupal 7

Se hai dei motivi per il titolo della testa prova il titolo della pagina


Ho visto il post e ho una domanda, se voglio assegnare un "titolo" ai percorsi specifici. Non per tutti i percorsi avrà lo stesso titolo. Ad esempio, ho bisogno di mysite.com/test <title> è "I miei test" e ho un'altra pagina mysite.com/examples Ho bisogno che <title> "Esempi da condividere". Questo codice è utile per questo scopo? Ho aggiornato il mio post.
Cabita,

Il post di @cabita Tenken copre il tuo caso d'uso. Oltre a ciò che ha già menzionato, puoi anche utilizzare il modulo Meta tag . Tutte e 3 le opzioni ti consentono di impostare il titolo della testa per le pagine specifiche del nodo che desideri senza toccare il resto.
Madis

Ho provato con i meta tag e ho permesso di cambiare l'intestazione del titolo per pagine specifiche, ma no per pagine specifiche generate da viste. Aggiornerò di nuovo la mia domanda. Mi dispiace.
Cabita,

@cabita Hai provato anche il titolo della pagina ? Almeno afferma di avere l'integrazione delle viste. Se questo non funziona o potresti semplicemente andare avanti e farlo nel codice (è facile limitare le modifiche a pagine specifiche solo usando $ _GET ['q'] o arg () per controllare il percorso).
Madis

Ho fatto nel codice. Hai ragione, è facile limitare le modifiche a pagine specifiche solo usando $ _GET ['q'] o arg ().
Cabita,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.