Всем снова привет. Продолжаю задавать тупые вопросы.
PHPTemplate - шаблонный движок, спецом разработанный для Drupal. Если порыскать в гугле, то можно найти на довольно стандартное его использование, понятное людям, которые раньше работали с подобным (например со Smarty):
<?php
$tpl = new PHPTemplate('someTemplate.tpl');
$tpl->set('someVar', 123);
print $tpl->fetch();
?>
Код вернет сами понимаете что и без всякого лишнего.
Естественно это не работает в Drupal(ВНЕЗАПНО!) при написании модулей. Вместо этого, материал нарысканный мной в гугле предлагает использовать следующие конструкции, у которых конечно же мощность использования на этом не заканчивается, тем не менее:
<?php
/**
* Перегрузка hook_theme
* param array с ключами хуков темы.
**/
function module_name_theme($existing, $type, $theme, $path) {
return array(
'theme_key' => array(
'template' => 'some_file',
'arguments' => array('yml' => array()),
'path' => drupal_get_path('module', 'module_name') . '/templates',
),
);
}
/**
* Реализация hook_menu()
**/
function module_name_menu() {
$items = array();
$items['some-path'] = array(
'title' => t('blablabla'),
'page callback' => '_module_name_callback',
'access callback' => 'just_true_returner',
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function
_module_name_callback() {
return theme('theme_key', array(1, 2, 'hren'));
}
?>
Это не совсем то, что мы ожидали, в сравнении с первым листингом. Дело в том, что выведется контент по шаблону, но в обертке: шапка, футер и тп, все что в page.tpl.php
Можно заменить на:
<?php
function _module_name_callback() {
print theme('theme_key', array(1, 2, 'hren'));
}
?>
Визуально УРА. Но при просмотре в инспекторе (например в FireBug) обнаружили, что все равно
Пустые, но все равно есть. А хотелось бы просто "......". Как жить?
Комментарии
пользоваться блокнотом, а не инспектором, и узнать разницу между dom и html файлом
Я, честно, совсем не понял сути поста. Попытка использовать шаблонизатор друпала без самого друпала и после этого пожаловаться, что ничего не работает? Или что?
что всегда чтоли? )))
понял
это вы где такое увидели?
или кто?
Вообще грубовато отвечаете ) Но идею понял, благодаря andead.