2011-01-11 3 views
0

Как определить, является ли текущая страница Drupal страницей результатов поиска?Укажите, является ли текущая страница Drupal страницей с результатами поиска?

+0

Пожалуйста, предоставьте дополнительную информацию о том, что вы хотите сделать. И вы создаете модуль или работаете в шаблонах? – JeroenEijkhof

+0

Посмотрите это сообщение для получения информации о том, как редактировать шаблон. http://stackoverflow.com/questions/2068996/how-to-modify-the-drupal-search-templates – JeroenEijkhof

ответ

1

Предполагая, что чистые URL-адреса включены, это обычно работает

function MYTHEME_preprocess_page (&$vars, $hook) { 
    // ... 

    if ($hook == 'page' && arg(0) == 'search') { 
    // do search related stuff 
    } 
} 

внутри template.php.

Обычные предложения шаблонов тоже работают, например, с использованием page-search.tpl.php вместо page.tpl.php, если это необходимо.

+1

Функция arg() не полагается на чистые URL-адреса, поэтому это также будет работать, когда чистые URL-адреса будут отключены. Переключатель $ hook доступен только в MYTHEME_preprocess (& $ vars, $ hook). Функция MYTHEME_preprocess_page (& $ vars) уже специфична для крючка «страницы», поэтому там нет переменной $ hook, и вы можете оставить ее вне инструкции if. – marcvangend

+0

Спасибо за разъяснение на arg(); Я никогда не разворачиваю без чистых URL-адресов. Также спасибо за то, что указав ошибку препроцесса, я никогда не замечал этого (так оно и есть в zen STARTERKIT). – mpdonadio

Смежные вопросы