Мне нужно отобразить страницу в drupal, созданную шаблоном и основанную на конкретной записи из моей таблицы.
Я создал модуль "item" (в качестве примера).
Я сделал хук item_menu:
$items['items/%item'] = array(
'title' => 'Items',
'page callback' => 'drupal_get_form',
'page arguments' => array('show_item', 1),
'access callback' => true,
'access arguments' => array(),
);
Я создал функцию загрузки для элемента:
function item_load($itemid)
{
$sql = 'SELECT * FROM {items} it WHERE it.id = :itemid';
$result = db_query(
$sql,
array(':itemid' => $itemid),
array( 'target' => 'mydatabase' ));
$item = $result->fetchObject();
return $item;
}
Теперь я хочу использовать шаблон для отображения специфики для элемента,поэтому я создал модуль item item.tpl.php.и ловушка item_theme для регистрации шаблона:
function item_theme($existing, $type, $theme, $path)
{
return array(
'show_item' => array(
'template' => 'item',
'variables' => array(),
),
);
}
Последнее, что мне нужно сделать, это передать объект item в item.tpl.php, чтобы я мог отобразить свойства элемента.
Но я не знаю, как это сделать.Как я могу сделать элемент известным в шаблоне ??
Надеюсь, вопрос достаточно ясен.Заранее спасибо.
[edit]
Я обнаружил, что arg (1) содержит значение подстановочного знака из аргументов страницы меню, если я использую arg (1) для поиска элементав базе данных?