Изменить заголовок страницы в Drupal 7 путем

8

Мне нужно изменить заголовок страницы в Drupal 7 путем. НЕТ на все типы контента. Мне нужно изменить заголовок заголовка на определенную страницу, созданную с представлениями.

Например, у меня есть сайт http://www.mysite.com

<title>My favorite website </title>

Мне нужна для страниц:

http://www.mysite.com/test

<title> My test today </title>

http://www.mysite.com/examples

<title> My examples for share </title>

Спасибо.

cabita
источник
Я не уверен, что вы подразумеваете под "изменить заголовок заголовка на определенный узел". Не могли бы вы уточнить, пожалуйста? Два общих модуля, которые помогают в этой области, - это drupal.org/project/pathauto и drupal.org/project/auto_nodetitle. Вы можете проверить их, и если они не работают, объясните, чем ваш вариант использования отличается от этих общих модулей. ручка.
Патрик Кенни
Я имею в виду «заголовок заголовка», который появляется в метатегах. Заголовок, который отображается на вкладках браузера. Спасибо.
Cabita

Ответы:

11

Вот как я это сделал в Drupal 7.

В template.php:

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

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

Например, если ваш путь был yoursite.com/boogabooga, то вы должны установить 'YOUR_PATH_STRING'«boogabooga» и 'YOUR_TITLE'любой другой заголовок страницы.

sstacks
источник
это не работает для hook_preprocess_user_profile
Франциско Корралес Моралес
Какую строку можно написать для таргетинга на страницу <front>?
Марс
14

Это звучит для вашего ограниченного набора страниц, может быть, реализовать THEME_preprocess_html()и изучить путь URL и переопределить $vars['head_title']. Посмотрите этот пост в блоге в качестве примера: Как установить пользовательский заголовок страницы в Drupal 7

Если у вас есть несколько шаблонов для заголовка, попробуйте Page Title

tenken
источник
Я видел сообщение, и у меня есть вопрос, если я хочу назначить "заголовок заголовка" для конкретных путей. Не для всех путей будет одинаковый заголовок. Например, мне нужно mysite.com/test, <title> - это «Мои тесты», и у меня есть другая страница mysite.com/examples. Мне нужно это <title> «Примеры для обмена». Этот код полезен для этой цели? Я обновил свой пост.
Cabita
Сообщение @cabita Tenken описывает ваш случай использования. Помимо того, что он уже упоминал, вы также можете использовать модуль мета-тегов . Все 3 опции позволяют вам установить заголовок заголовка для нужных страниц узла, не касаясь остальных.
Мадис
Я попытался с метатегами и разрешить изменение заголовка для определенных страниц, но не для конкретных страниц, созданных представлениями. Я обновлю свой вопрос снова. Мне жаль.
Cabita
@cabita Пробовали ли вы также заголовок страницы ? По крайней мере, он утверждает, что имеет интеграцию представлений. Если это не сработает, вы можете просто пойти дальше и сделать это в коде (легко ограничить изменения для определенных страниц только с помощью $ _GET ['q'] или arg () для проверки пути).
Мадис
Я сделал в коде. Вы правы, легко ограничить изменения для определенных страниц только с помощью $ _GET ['q'] или arg ().
Cabita