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.