Drupal

Создание модулей в Drupal: введение

Одно из главных преимуществ Drupal - возможность создания и подключения модулей, позволяющих расширить его функциональность. Основная идея использования модулей проста. В отличие например от Джумлы, в которой для расширения функциональности используется аж три вида модулей: компоненты, собственно модули и мамботы. Которые, к тому же обладают собственными установщиками, которые не всегда устанавливают как надо, то что должны устанавливать.

Обновление Drupal до версии 6.5

Вышли версии Drupal 5.11 и 6.5. В них устранены критические уязвимости связанные с правами доступа, всем рекомендуется немедленно обновиться.

Статья о Drupal.

Наткнулся на интересную обзорную статью о Drupal. Общая информация - но достаточно конкретная. Обычно в обзорных статья о Drupal (да и о любой другой CMS) слишком много общих слов.

Формы в Drupal: default_value и value.

До сих пор применял атрибуты '#default_value' и '#value' не особо задумываясь об их отличиях. Делал по образцу и как-то само собой получалось правильно. Но удача отвернулась от меня, я ошибся и на меня снизошло просветление.

ahah и выпадающие списки

Потребовалось создать форму. На форме два списка. В первом списке производим выбор и в зависимости от выбранного пункта должно загрузиться содержимое второго списка. Ясно, что делается это с помощью ajax. Но я JavaScript никогда не увлекался, решил использовать какую-нибудь библиотеку.

breadcrumb: вспомогательная функция

Делаю модуль с большим количеством страниц в определенной иерархии. И на каждой странице прописывать breadcrumb с помощью drupal_set_breadcrumb() показалось неудобным. Сделал небольшую функцию-обертку, которая неплохо облегчает труд.

<?php
function set_breadcrumb($str,$links=array()){
   
$bc[]=l('Главная','');
    foreach(
$links as $link){
      
$bc[]=l(t($link[0]),$link[1]);
    }
   
$bc[]=t($str);
   
drupal_set_breadcrumb($bc);
}
?>

Использовать ее в виде:
<?php
set_breadcrumb
("Текущая страница",array(array('Уровень-1','link1'),array('Уровень-2','link1/link2')))
?>

Шестой Drupal и db_num_rows

Сижу, переделываю модуль собственного сочинения, под Drupal 6. Создавался он под пятую версию. Удивился, когда прочитал сообщение:

Fatal error: Call to undefined function db_num_rows()

Начал разбираться - оказалось в шестом друпале отменили функцию db_num_rows. Теперь вместо нее надо использовать mysqli_num_rows. Хотя если посмотреть исходный код (http://api.drupal.org/api/function/db_num_rows/5) необходимости в db_num_rows никогда и не было.

Синдикация материалов