Вопрос

У кого -нибудь есть идеи о том, как я мог бы встроить регион в файл .tpl.php?

Я выполняю это достаточно легко в узле .tpl.php, добавив что -то подобное theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

Совершенно никаких проблем. Однако, очевидно, нет theme_preprocess_view() функция, и я получаю ошибки памяти, когда пытаюсь добавить тот же фрагмент в theme_preprocess().

Фатальная ошибка: разрешенный размер памяти 104857600 байтов, истощенных (попытка выделить 523800 байтов) в /сарсец/cpharmston/sites/projects/threespot/neh01/includes/database.mysqli.inc на линии 42

Я озадачен. Любые идеи?

Спасибо!

Это было полезно?

Решение

«Быстрый и грязный» способ: Вы могли бы просто положить theme('blocks', [region_name]) Позвоните непосредственно в файл Views .tpl.php.

В то время как функции препроцесса направлены на лучшее разделение логики «бизнес» против «отображения», они не требуются каким -либо образом, поэтому вы все равно можете поместить пользовательский код в файл .tpl.php, любые способы.

'Правильный путь: Там находятся Предварительные функции для представлений, лишь более одного. Посмотрите на файл Theme.inc модуля представлений. Там вы найдете разные функции предварительной обработки для разных шаблонов, которые могут использовать представление (например, «неформатированный» против «таблицы» против «списка» и т. Д.). Вам просто нужно найти тот, который имеет отношение к шаблону представления, который вы хотите внедрить новую переменную.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top