#1 RX pharmacy affiliate program!
Apr232009

Drupal модуль, создаем страницу

Не освящал никаких тем в блоге уже несколько дней. Действительно навалилось много дел и забот, сейчас появилась возможность исправить свою ошибку.

Создание страницы drupalКак то я говорил, что по мере изучения CMF Drupal, я буду рассказывать об этом. Вот совсем недавно передо мной стала задача, которая заключается в том, чтобы написать модуль под Drupal, только отображение его будет не в блоке, а на одной из страниц сайта. Его функция – импорт данных в mysql из .csv файла, но об этом позже. Считаю что на drupal.org недостаточно подробно расписано пояснение о создании своих страниц, потому далее покажу чему научился.

Итак, чтобы программно создать свою страницу для Drupal, нам необходимо будет для начала создать свой модуль. Как это делается я показывал здесь. Допустим, что название нашего модуля будет dm.module. Соответственно для создания странички нам понадобится хук – dm_menu. Подробнее у хуках можно прочитать на русском сайте drupal.ru или официальном, английском сайте – drupal.org.

Далее распишу минимальный код для создания drupal-страницы с комментариями:

function dm_menu() { //применяем наш хук

$items = array(); //этот массив необходим для передачи необходимых данных друпалу (читайте подробнее о hook_menu)

$items['pagegood'] = array(’title’ => t(’Какая-то страница’), //здесь pagegood это будет название нашей страницы, а title соответственно титл страницы.
‘page callback’ => ‘_dm_page’, //вызываем функцию построения страницы, она находится немножко ниже в коде
‘page arguments’ => array(0), //передаем необходимый аргумент функции, которая строит страницу, в нашем случае array(0) будет равно ‘pagegood’
‘access arguments’ => array(’access content’), //устанавливаем права доступа к странице
‘type’ => MENU_NORMAL_ITEM,
);

return $items; //возвращаем массив
}

function _dm_page($page){ //это уже совсем не хук, а наша функция для построения страницы, в нашем случае переменная $page будет равна значению ‘pagegood’

switch ($page){ // что такое switch можно прочитать в любом справочнике php, тогда сразу станет ясно зачем здесь оставшиеся строчки
case ‘pagegood’:

break;
}
return ($page);
}

Теперь этот код создаст пустую drupal-страницу с титлом “Какая-то страница”. Дальше программим для нее что угодно :) . Конечно это не единственный способ, есть несколько других.

Если возникнут вопросы – пишите. Я еще не профессионал в сфере веб-разработок, поэтому всегда будет интересно послушать дополнения так же более опытных людей.

archick

----------------------------------

Понравилась статья? Подпишись на обновление блога через RSS или e-mail!

Читайте по этой теме:

  1. Валераиюня 17, 2009
  2. archickиюня 18, 2009
  3. Lonli-Lokliянваря 12, 2010

Оставьте комментарий