Drupal 7: печать темы из меню хуков с хорошей производительностьюPhp

Кемеровские программисты php общаются здесь
Anonymous
Drupal 7: печать темы из меню хуков с хорошей производительностью

Сообщение Anonymous »

Я работаю над меню-привязкой для пользовательского маршрута, вот так:

Код: Выделить всё

function mymodule_menu() {
$items = [];
$items['myroute/%'] = array(
'page callback'     => 'my_callback',
'page arguments'     => array(1),
'access arguments'  => array('access content'),
);
return $items;
}
В theme_hook я добавил новую функцию шаблона, например:

Код: Выделить всё

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',
)),
);
}
Я создал файл шаблона под названием «product-tile.tpl.php», который отлично работает во всех ситуациях и является частичным шаблоном.
В функции обратного вызова мне нужно вернуть определенный шаблон .tpl.php, например:

Код: Выделить всё

function my_callback($parameter) {

$template_data = 'lorem ipsum';
$output = theme('product_tile', array('content' => $template_data ));
echo ($output);

}
Дело в том, что функция 'theme()' слишком долго обрабатывает данные и отображает не только шаблон, но и всю html-структуру, которая не нужна и не нужна. часть шаблона.
Пример: шаблон: Но когда я получаю ответ на '/myroute/myparameter, вместо печати моего шаблона он печатает всю структуру HTML следующим образом:

Код: Выделить всё

......lots of stuff here +js +css + all drupal stuff



И печать занимает много времени (около 10 секунд или больше).
Я пытался кэшировать его с помощью кэша_get и кэш_сет, но странно что-то происходит, например, случайные пустые ответы.
Кто-нибудь знает более эффективный способ распечатать частичный шаблон в крючковом меню в Drupal 7? Это ужасно медленно.
Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/572 ... erformance

Вернуться в «Php»