Zmień tytuł strony w Drupal 7 według ścieżki

8

Muszę zmienić tytuł nagłówka stron w Drupal 7 według ścieżki. NIE dla wszystkich typów treści. Muszę zmienić nagłówek tytułu na konkretną stronę wygenerowaną za pomocą wyświetleń.

Na przykład mam witrynę http://www.mysite.com

<title>My favorite website </title>

Potrzebuję stron:

http://www.mysite.com/test

<title> My test today </title>

http://www.mysite.com/examples

<title> My examples for share </title>

Dzięki.

cabita
źródło
Nie jestem pewien, co masz na myśli przez „zmień nagłówek tytułu na konkretny węzeł”. Czy możesz to wyjaśnić? Dwa popularne moduły, które pomagają w tym obszarze, to drupal.org/project/pathauto i drupal.org/project/auto_nodetitle Możesz je sprawdzić, a jeśli nie działają, wyjaśnij, w jaki sposób Twój przypadek użycia jest inny niż w tych wspólnych modułach uchwyt.
Patrick Kenny,
Mam na myśli „nagłówek tytułu”, który pojawia się w metatagach. Tytuł wyświetlany na kartach przeglądarki. Dzięki.
cabita

Odpowiedzi:

11

Oto jak to zrobiłem w Drupal 7.

W template.php:

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

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

Na przykład, jeśli twoja ścieżka to twoja strona.com/boogabooga, to ustawisz 'YOUR_PATH_STRING'na „boogabooga” i 'YOUR_TITLE'na cokolwiek chcesz, aby tytuł strony był.

sstacks
źródło
to nie działa w przypadku hook_preprocess_user_profile
Francisco Corrales Morales
Jaki może być ciąg znaków do kierowania na stronę <front>?
Mars
14

Wygląda na to, że Twój ograniczony zestaw stron może implementować THEME_preprocess_html()i sprawdzać ścieżkę adresu URL i przesłonić $vars['head_title']. Zobacz ten post na blogu jako przykład: Jak ustawić niestandardowy tytuł strony w Drupal 7

Jeśli masz jakieś wzorce na tytuł nagłówka, spróbuj Tytuł strony

tenken
źródło
Widziałem post i mam pytanie, czy chcę przypisać „tytuł główny” do określonych ścieżek. Nie wszystkie ścieżki będą miały ten sam tytuł. Na przykład potrzebuję mysite.com/test <title> to „Moje testy” i mam inną stronę mysite.com/examples Potrzebuję tego <title> „Przykłady udostępniania”. Czy ten kod jest przydatny do tego celu? Zaktualizowałem swój post.
cabita
Post na @cabita Tenken dotyczy twojego przypadku użycia. Oprócz tego, o czym już wspomniał, możesz także użyć modułu Meta tags . Wszystkie 3 opcje pozwalają ustawić tytuł nagłówka dla konkretnych stron węzłów, które chcesz, bez dotykania reszty.
Madis
Próbowałem z metatagami i zezwalam na zmianę nagłówka tytułu dla określonych stron, ale nie dla określonych stron generowanych przez wyświetlenia. Zaktualizuję moje pytanie ponownie. Przepraszam.
cabita
@cabita Czy próbowałeś również tytułu strony ? Przynajmniej twierdzi, że ma integrację widoków. Jeśli to nie zadziała, możesz po prostu iść naprzód i zrobić to w kodzie (łatwo jest ograniczyć zmiany tylko do określonych stron, używając $ _GET ['q'] lub arg () do sprawdzenia ścieżki).
Madis
Zrobiłem w kodzie. Masz rację, łatwo jest ograniczyć zmiany tylko do określonych stron, używając $ _GET ['q'] lub arg ().
cabita