Добавить пользовательский заголовок заголовка на страницу с фильтром в Drupal
У меня есть сайт, который фильтрует блоги по определенным экспедициям.
В настоящее время, когда я нажимаю на блог, связанный с этой конкретной экспедицией, заголовок заголовка (в окне браузера) отображается как "| mysite
Msgstr "Таким образом, все отфильтрованные представления имеют одинаковый заголовок.
Я хотел бы добавить собственный заголовок заголовка для каждого отфильтрованного представления.
Так, например, я хотел бы, чтобы у блогов, которые имеют отношение к Экспедиции 1, было фильтрованное представление с заголовком заголовка "Expedition 1 blogs | Mysite
".
У кого-нибудь есть предложения?
3 ответа
Я предлагаю вам сделать это:
для просмотров 3:
Если у вас есть представление, и вы хотите иметь возможность программно изменять заголовок, вы можете сделать это, реализовав hook_views_pre_render в своем пользовательском модуле:
<?php
/**
* Implements hook_views_pre_view().
*/
function MODULENAME_views_pre_render($view) {
if ($view->name == 'my_view_name') {
if ($view->current_display == 'my_display_name') {
$view->set_title('my new title');
}
}
}
?>
Я надеюсь, что это помогает.
Этот вопрос может быть связан с тем, где было дано следующее решение:
В template.php:
function YOUR_THEME_preprocess_page(&$vars){
// You can test if you're in your specific views of course
$path = $_GET['q'];
if (strpos($path,'YOUR_PATH_STRING') !== false) {
drupal_set_title('YOUR_TITLE');
}
}
Я также видел ссылку на модуль Page Title, который может вам подойти.
Вы можете установить заголовок страницы представлений программно, используя нижнюю зацепку в модулях.
function MODULE_NAME_views_pre_view(&$view, &$display_id, &$args) {
if($view->name == 'VIEW_MACHINE_NAME'){
$view->display[$view->current_display]->display_options["title"] =
$view->display[$view->current_display]->handler->options["title"] =
$view->human_name .' - '.$_GET['field_video_by_event_value'];
}
}