Как я могу изменить тег заголовка в заголовке только одной страницы?


Я попробовал модуль Заголовок страницы , однако, похоже, он может настраивать заголовки страниц только на уровне типа контента.

Я могу создать храм для этой страницы и написать заголовок прямо там, но мне не хочется переопределять файл шаблона только для тега заголовка.

Есть ли какой-либо другой способ присвоить заголовку только одну конкретную страницу (страницу просмотра узла)?

 2
Author: kiamlaluno, 2012-09-15

3 answers

Вы можете управлять этим в template.php файл.

function MYTHEMENAME_preprocess_page(&$vars) {
    $vars['title'] = $custom_title;
    $vars['head_title'] = $custom_title;
}

Просто поставьте условие на странице, например, для определенного пути, типа контента и т.д., и измените заголовок страницы.

function mytheme_preprocess_page(&$vars){
    if (isset($vars['node']) && $vars['node']->type == 'news'){
        drupal_set_title('News');
    }
}
 3
Author: mohit_rocks, 2012-09-15 14:47:52

Кое-как у меня возникла проблема с заголовком браузера на первой странице. Название нашего сайта работало правильно. Но только для главной страницы мы не можем видеть заголовок заголовка браузера. Я использовал следующий код только для первой страницы -

/**
 * implements hook_preprocess_html()
 * @param $vars
 */
function YOURTHEME_preprocess_html(&$vars) {
    if(drupal_is_front_page()){
        $vars['head_title'] = "Home | " . variable_get('site_name');
    }
}
 2
Author: Imran Sarder, 2015-12-09 06:09:04

Попробуйте вот это:

/**
 * Override or insert variables into the html template.
 */
function THEMENAME_preprocess_html(&$vars) {  
  switch ($vars['menu_item']['path']) {
    case 'profile-profile/%':
      $vars['head_title'] = implode(' | ', array('Hello!', variable_get('site_name')));
      break;
  }
}
 0
Author: mrded, 2013-04-19 15:21:02