Как изменить страницу taxonomy/term/% из своего модуля

Главные вкладки

Аватар пользователя xxandeadxx xxandeadxx 25 апреля 2010 в 18:24

Знаю способ добиться этого через функцию phptemplate_taxonomy_term_page:

<?php
function phptemplate_taxonomy_term_page($tids$result)
{
    return 
'<h1>HELLO WORLD</h1>' theme_taxonomy_term_page($tids$result);
}
?>

Вопрос — корректно ли в модуле использовать функции с префиксом phptemplate, ведь движок темы может быть дургой. И может есть другой способ добавить текст к контенту на странице taxonomy/term/%.

На drupal.org есть пример для пятёрки, но он основан на template.php.

Комментарии

Аватар пользователя xxandeadxx xxandeadxx 25 апреля 2010 в 19:01

"RxB" wrote:
Проще наверно сделать hook_menu_alter()

имеешь ввиду подменить page callback? а если другой модуль сделает тоже самое?

"<a href="mailto:Oleksa@drupal.org">Oleksa@drupal.org</a>" wrote:
http://mustardseedmedia.com/podcast/episode31[/quote]
мне нужно изменить страницу в модуле, а не в конкретной теме с помощью .tpl.php файла

хочется по аналогии с хуком hook_form_alter добавить/изменить контент страницы и передать его дальше по цепочке

Аватар пользователя xxandeadxx xxandeadxx 25 апреля 2010 в 21:44

оказывается в модулях тоже доступны препроцесс функции, поэтому можно сделать так:

<?php
function mymodule_preprocess_page(&$vars)
{
    if (
arg(0) == 'taxonomy' && arg(1) == 'term')
    {
        
$vars['content'] = '<h1>HELLO WORLD</h1>' $vars['content'];
    }
}
?>

а я уж начал думать что это невозможно) http://drupal.org/node/173880