Код: Выделить всё
function mymodule_menu() {
$items = [];
$items['myroute/%'] = array(
'page callback' => 'my_callback',
'page arguments' => array(1),
'access arguments' => array('access content'),
);
return $items;
}
Код: Выделить всё
function mymodule_theme($existing, $type, $theme, $path) {
$default = array(
'path' => drupal_get_path('module', 'mymodule') . '/templates',
'variables' => array(),
);
return array(
'product_tile' => array_merge($default, array(
'template' => 'product-tile',
)),
);
}
В функции обратного вызова мне нужно вернуть определенный шаблон .tpl.php, например:
Код: Выделить всё
function my_callback($parameter) {
$template_data = 'lorem ipsum';
$output = theme('product_tile', array('content' => $template_data ));
echo ($output);
}
Пример: шаблон:
Код: Выделить всё
Код: Выделить всё
......lots of stuff here +js +css + all drupal stuff
Я пытался кэшировать его с помощью кэша_get и кэш_сет, но странно что-то происходит, например, случайные пустые ответы.
Кто-нибудь знает более эффективный способ распечатать частичный шаблон в крючковом меню в Drupal 7? Это ужасно медленно.
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/572 ... erformance