cainrus 3 июля 2011 в 21:40 Как использовать свой файл шаблона из своей папки модуля? Допусим имя модуля cashsystem, а имя шаблона invoice. Пробовал через функцию theme, не получилось. Drupal6 Есть вопрос Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
cainrus 4 июля 2011 в 1:23 Меня выручил этот коммент. Крайне неудобно получается. Следующий код добавим в файл модуля: <?php/** * Implementation of hook_nodeapi(). */function mymodule_nodeapi(&$node, $op, $teaser, $page) { switch ($op) { case 'view': $node->content['field1'] = array( '#value' => theme('mymodule_field1', 'field1 test argument'), '#weight' => 10, ); $node->content['field2'] = array( '#value' => theme('mymodule_field2', 'field2 test argument'), '#weight' => 10, ); break; }} /** * Implementation of hook_theme(). */function mymodule_theme() { return array( 'mymodule_field1' => array( 'arguments' => array( 'data' => NULL, ), ), 'mymodule_field2' => array( 'template' => 'field2_template', 'arguments' => array( 'data' => NULL, ), ), ); } function theme_mymodule_field1($data) { $output = $data; return $output;} ?> А в шаблон протестировать можно такой конструкцией: <?php print_r($data); ?> Может быть имеется более лёгкий способ подключения темизации данных шаблоном?
Комментарии
http://api.drupal.ru/api/group/themeable/6
Меня выручил этот коммент.
Крайне неудобно получается.
Следующий код добавим в файл модуля:
<?php
/**
* Implementation of hook_nodeapi().
*/
function mymodule_nodeapi(&$node, $op, $teaser, $page) {
switch ($op) {
case 'view':
$node->content['field1'] = array(
'#value' => theme('mymodule_field1', 'field1 test argument'),
'#weight' => 10,
);
$node->content['field2'] = array(
'#value' => theme('mymodule_field2', 'field2 test argument'),
'#weight' => 10,
);
break;
}
} /**
* Implementation of hook_theme().
*/
function mymodule_theme() {
return array(
'mymodule_field1' => array(
'arguments' => array(
'data' => NULL,
),
),
'mymodule_field2' => array(
'template' => 'field2_template',
'arguments' => array(
'data' => NULL,
),
),
);
}
function
theme_mymodule_field1($data) {$output = $data;
return $output;
} ?>
А в шаблон протестировать можно такой конструкцией:
<?php
print_r($data); ?>
Может быть имеется более лёгкий способ подключения темизации данных шаблоном?