Как хранить представления в файлах

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

Аватар пользователя Paradise Paradise 29 марта 2011 в 8:59

Здравствуте.

Только начинаю изучать друпал. До этого строил все сайты на Зенд-фреймворк.

Есть ли в друпале возможность хранить представление в файле-шаблоне на plain-PHP?

Что-то типа:

<?foreach ($product as $product_key => $product_value):?>
<div class='product_item'>
    <div class='product_name'>
        <?=$product_value['product_name']?>
    </div>
    <div class='product_price'>
        <?=$product_value['product_price']?>
    </div>
</div>
<?endforeach;?>

Чтобы можно было написать это в какой-либо файл и выводить в любом месте сайта, будь это страница или левая колонка.

Модуль Views нас не устраивает тем, что для нас гораздо проще работать с файлами и шаблонами.

Заранее спасибо за доброжелательные и компетентные ответы.

Комментарии

Аватар пользователя natbampo natbampo 29 марта 2011 в 9:13

Конечно, такая возможность есть.
На уровне темы - страницы, блоки, ноды - имеют свои шаблоны, в которых можно писать свой код php(PHPTemplate - основной движок тем для друпала - на pure php).
Обычно в шаблонах правда выводится информация, подготовленная уже самим друпалом, а не реализуется логика приложения. Дополнительные переменные устанавливаются в функциях препроцесса. Тут можете почитать про темизацию.
Основное содержимое страницы - можно спрограммировать (обратный вызов меню) и уже этот результат передать в шаблон.

Аватар пользователя G.A. Vinogradov G.A. Vinogradov 29 марта 2011 в 9:25

Используйте Views Wink
Вы вполне можете определять свои шаблоны для любого из View. Смотрите пункт 'Theming information'.

А вообще, смотрите hook_theme и темизацию.

Аватар пользователя glu2006 glu2006 29 марта 2011 в 9:42

Даже само представление вьюса можно хранить в файле, только для этого надо еще и ctools (модуль такой) освоить. Этот модуль вообще полезная штука для друпала.