[РЕШЕНО!] Вывод кода из шаблона под определенным блоком

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

Аватар пользователя mail_ru@drupal.org mail_ru@drupal.org 15 июля 2012 в 7:59

Доброго утра всем.

Есть некий код, вставляемый в шаблон (node.tpl.php). Допустим, это код счетчика(не суть важно), и в р-те его работы что-то выводится на сайте.

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

С вопросом вывода лишь на определенных страницах я разобрался.

Проблема: как вывести результат под конкретным блоком на странице? Что и где и как надо прописывать?

К сожалению, код необходимо вставлять именно в шаблон, при вставке напрямую в блок - не срабатывает.

Большое спасибо.

UPD: В админке создается пустой блок, в тело блока пишется произвольный текст(иначе блок не будет отображаться!). В теме создается файл вида block-block-XXX.tpl.php, где ХХХ - дельта(номер) блока. В файл вписываете код.
...
Работает!

Комментарии

Аватар пользователя rimen rimen 15 июля 2012 в 10:01

1. разобраться, почему Ваш код не работает в блоке (может все же поведуете, что он делает, или хотя бы какие аргументы с материала принимает? что то подсказывает, можно в эту сторону копнуть ) и вывести его в блоке в нужном месте.
2. вывести блок, после которого нужно разместить счетчик, в node.tpl программно через (module_invoke - искайте в поиске), а уж после него воткнуть свой счетчик.

UPD: это два варианта, а не последовательность шагов если что )

Аватар пользователя rimen rimen 15 июля 2012 в 23:53

То бишь никакой связи с материалом (объектом node нет)? Тогда не понимаю, в чем проблема.
Создайте блок, в него ваш сниппет (модуль php включите для php filter)

Аватар пользователя rimen rimen 15 июля 2012 в 23:54

"<a href="mailto:mail_ru@drupal.org">mail_ru@drupal.org</a>" wrote:
при вставке напрямую в блок - не срабатывает.

точно нужно включить модуль php и при вводе сниппета выбрать формат PHP code

Аватар пользователя mail_ru@drupal.org mail_ru@drupal.org 16 июля 2012 в 1:21

Именнно так и делал, вроде как говорят, что не видят вывода р-та на странице, тогда как в шаблоне - все ок.

Впрочем, уточню у их специалиста.

Аватар пользователя mail_ru@drupal.org mail_ru@drupal.org 18 июля 2012 в 6:32

с module_invoke разобрался, остался лишь один вопрос:

как выводить через этот хук блок в нужном регионе темы?(в node.tpl.php разумеется)?

Спасибо.

Аватар пользователя rimen rimen 18 июля 2012 в 12:02

Я не понимаю Вас. нужно вывести в регионе - создайте блок с php кодом, тем более нет у вас никакой привязки к материалу, и выводите (настраивайте) как обычный блок.
Если же нужно выводить где-то посреди материала самого (среди филдов, под заголовком, после/внутри текста и еще триллион вариантов...) - выводите снипетом прямо в темплейте ноды.

Аватар пользователя mail_ru@drupal.org mail_ru@drupal.org 18 июля 2012 в 13:08

При выводе через вставку кода в блок(и включенном php filter) - НЕ срабатывает. При вставке кода в node.tpl.php - срабатывает. Осталось указать в коде, в каком регионе должен быть выведен вставленный в node.tpl блок.

Аватар пользователя rimen rimen 18 июля 2012 в 13:17

Воспользуйтесь поиском - тема вывода своих данных в node.tpl так и включение регионов прямо в ноде много раз разжевана