Доброго времени суток всем.
Меня интересует создание своей темизованой страницы списка нод без views и присвоения ей ссылки например www.ss.ss/price_list.
Просветите пожалуйста незнающего как это можно сделать.
Спасибо.
Доброго времени суток всем.
Меня интересует создание своей темизованой страницы списка нод без views и присвоения ей ссылки например www.ss.ss/price_list.
Просветите пожалуйста незнающего как это можно сделать.
Спасибо.
Комментарии
hook_menu регистрируем страницу с адресом и назначаем ей callback.
пишем свой SQL который вытягивает то что Вам надо
Пишем свою theme функцию вывода html на странице. ВСЕ.
А немного подробнее не могли бы объяснить? это делается через модуль? какой синтаксис у данных команд?
Да это делается через написание собственного модуля.
синтаксис можно посмотреть на http://api.drupal.org
Я просто не обладаю достаточным количеством свободного времени для подробной статьи (приношу извинения).
Жаль Самому у меня не получается разобраться.
Содержимое модуля получилось таким.
function catalog_menu(){
$items = array();
$items['catalog'] = array(
'title' => 'Real Estate',
'description' => 'Real estate catalog.',
'page callback' => 'page_catalog',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function page_catalog() {
return ''. t('Test text.') .'';
}
Как быть дальше? Как подключить темплейт (....tpl.php),
Запрос к базе писать в page_catalog()?
Ну вот прогресс на лицо, а говорите что сами не в силах разобраться
Да запрос можете написать в этой функции а можете создать отдельную функию для получения данных.
Я к примеру стараюсь разбивать такие процессы на более мелкие т.е.
Функция получения данных и построения массивов или объектов из них
Функция обработки данных (их может быть несколько в зависимости от логики)
Функция построения и вывода готового html (theme функция).
Дальше посмотрите описание [ru-api=hook_theme]hook_theme[/ru-api]. В hook_theme определяете функцию темизации с именем, например mytheme, затем пишете ее реализацию с именем theme_mytheme, потом в page_catalog вызываете как theme('mytheme'). Также в hook_theme можно сделать так, чтобы шаблон брался не из функции темизации, а из отдельного внешнего файла.