Указание tpl-файла пользователем
Прислано: Vydrin_AP
пт, 24/06/2011 - 08:40
Здравствуйте уважаемые!
Пишу модуль, который выводит блок, темизируя вывод через свой mymodule.tpl.php. В настройках блока есть поле "Путь к tpl-файлу".
Вопрос: как можно при выводе содержимого блока учитывать содержимое этого поля? Если пустое, используем свой темплейт, если заполнено, то пользовательский.
Спасибо!
- Vydrin_AP's blog
- Для комментирования войдите или зарегистрируйтесь
В hook_preprocess_block ищите переменную theme_hook_suggestions
- Для комментирования войдите или зарегистрируйтесь
Спасибо конечно, но ведь в hook_preprocess_block можно указать темплейт для всего блока, включая заголовок и содержимое, а я вывожу через hook_block_view таким образом:
$block['content'] = theme('some_theme_stuff', array('data' => $data));
Необходимо темизировать не сам блок, а только выводимый контент.
- Для комментирования войдите или зарегистрируйтесь
Вы раздел форума верно выбрали?
- Для комментирования войдите или зарегистрируйтесь
Разработка модулей, а что не так? )
- Для комментирования войдите или зарегистрируйтесь
а что не так
Размещение заказов → Разработка модулей
Необходимо темизировать не сам блок, а только выводимый контент.
Точно так же, только вместо hook_preprocess_block используйте preprocess функцию для своего шаблона.
В $block['content'] отдавайте не html, а массив с данными.
Вообще, тут много вариантов.
- Для комментирования войдите или зарегистрируйтесь
Размещение заказов → Разработка модулей
Поменял! Спасибо ;)
вместо hook_preprocess_block используйте preprocess функцию для своего шаблона
Подскажите как это будет выглядеть например для "some_theme_stuff" это будет hook_preprocess_some_theme_stuff ?
В $block['content'] отдавайте не html, а массив с данными.
Сначала отдавал массивом, потом изменил на theme(), теперь верну обратно.
- Для комментирования войдите или зарегистрируйтесь
Подскажите как это будет выглядеть например для "some_theme_stuff" это будет hook_preprocess_some_theme_stuff ?
Шаблон some_theme_stuff должен быть определён в hook_theme в вашем модуле.
- Для комментирования войдите или зарегистрируйтесь
Попытался в hook_preprocess_block и в hook_preprocess вывести $variables, но в них так и не нашел где указывается сам файл some_file.tpl.php, чтобы его заменить на тот, что нужен мне.
В theme_hook_suggestions содержатся немного не те данные, что нужны мне.
Может это вообще невозможно?
- Для комментирования войдите или зарегистрируйтесь
Похоже получилось! Через
hook_theme_registry_alter. Спасибо
Ch!
- Для комментирования войдите или зарегистрируйтесь





Комментарии