Drupal 6.x

Модули для Друпал версии 6.x
Опубликовано VladSavitsky
Задача: 

Нужно создать вид (представление) для Views программно, то есть в своем модуле.

Решение
Чтобы задать вид с помощью кода для Views 2 в Drupal 6 нужно:

  1. Создать вид, используя визуальный интерфейс Viws, как это обычно делается
  2. Сделать экспорт этого вида и получить код
  3. Заменить первую строку ($view = new view;) на $view = views_new_view();
  4. Далее можно показать, выполнить, вставить и всё, чего пожелаете (то есть $view->execute_display('default', array())

Ниже пример, который использует простой Вид, который показывает Заголовки всех опубликованных нод:

//создать новый вид

Читать дальше...
Авторы решений:
Темы:
Версия Drupal:
Модули:
| Добавить комментарий
Опубликовано VladSavitsky
Задача: 

Нужно сделать так, чтобы при смене (переключении) языка сайта ссылка на главную меняла свой якорь (текст). Например, "Главная" для русского, "Home" - для английского.

Решение

Авторы решений:
Версия Drupal:
Модули:
| Добавить комментарий
Опубликовано VladSavitsky

Задача:

Нужно в форме поиска вставить в поле текст "Поиск по сайту", который исчезает при клике мышью, то есть, когда курсор попрадет в это поле и поле получает фокус.

Читать дальше...
Опубликовано VladSavitsky

Задача
Табы и вкладкиНужно на страницу ноды, где по умолчанию есть табы "Смотреть" ("View") и "Редактировать" ("Edit") добавить произвольный таб.

Решение

Добавление таба в Drupal 6

Таб для всех нод и без ограничения доступа:
$items['node/%node/new_tab'] = array(
    'title' => 'New Tab',
    'page callback' => 'mycallback',
    'page arguments' => array(1),
    'access callback'   => TRUE,

Читать дальше...
Авторы решений:
Версия Drupal:
| 3 комментария
Опубликовано VladSavitsky

Задача:
Нужно определить тип ноды, которая отображается. В форме редактирования нет об этом информации.

Читать дальше...
Опубликовано Гость
Задача: 

Нужно вывести (внедрить) форму создания ноды на странице, которая не совпадает со стандартным URL для создания нод (node/add/[тип нод]). То есть на произвольной странице показать ноду создания контента одного из типов. При этом нужно сохранить весь функционал этой формы - AHAH, валидацию и корректное сохранение.

Иногда бывает нужно встроить (embed) форму редактирования ноды.

Drupal 5

Для 5й версии можно использовать модуль subform element (http://drupal.org/project/subform_element), который позволяет это легко сделать.

Drupal 6

В 6й версии Drupal формы стали сложнее (активно используется AHAH), поэтому при при неаккуратном использовании формы могут перестать работать. Создадим модуль, который будет показывать внедрённую форму на произвольной странице.
Чтобы не нарушить работу AHAH нужно просто не менять структуру массива $form.

Опубликовано VladSavitsky
Задача: 

Нужно отключить возможность менять заголовок комментария при создании и не показывать заголовок на странице ноды в списке всех комментариев.

Варианты:

  • Использовать стандартные возможности Drupal
  • Использовать модуль Re: Comment subjects
  • Скрыть заголовки средствами CSS
  • Использовать модуль "Comment automatic title"
  • Использовать хук hook_comment()

Использовать хук hook_comment()

См. http://api.drupal.ru/api/function/hook_comment/6
Теория:

  • Нужно перехватить вывод формы комментария и отключить вывод заголовка.
  • Читать дальше...
Опубликовано VladSavitsky
Задача: 

Если в модуле используется хук и он должен обрабатывать данные, которые добавляются или меняются другим модулем с помощью такого же хука, то нужно как-то задать приоритет (очерёдность) выполнения хуков, чтобы ваш хук сработал после хука в других модулях. Нужно установить приоритет выполнения хуков.

Решение:
Приоритет хуков зависит от приоритета модуля, в котором он описан.
По умолчанию этот приоритет равен 0 и, если вы специально не указали другое, то будет использовано именно это значение. Чтобы это изменить есть, как всегда, несколько путей.

Обратите внимание: Вес может быть отрицательным. Отрицательный вес считается более тяжёлым и срабатывает раньше. Положительный срабатывает позже (и после того, как сработает вес по умолчанию - нулевой). Если задан одинаковый вес, то используется сортировка по алфавиту.

Читать дальше...
Опубликовано VladSavitsky

Модуль позволяет массово менять параметры нод, а именно:

  • Опубликовать/Снять с публикации
  • Поместить на главную/Убрать с главной
  • Закрепить в списках/Отменить закрепление в спискахК
  • Комментарии: Запретить/Разрешить только чтение/Разрешить чтение и запись.
Опубликовано VladSavitsky
Задача: 

Нужно отключить комментарии у нод заданного типа. При просмотре ноды не должно быть ни формы комментария, ни ссылки на форму для добавления комментария.

Решение
Настройки комментариев хранятся в базе данных отдельно для каждой ноды. А общие настройки (настройки по умолчанию) можно задать на странице настроек нужного типа материалов, но влиять они будут только на новые ноды. Для созданных ранее нод в базе данных будет храниться значение, которое было задано при сохранении ноды. Поэтому есть 2 этапа отключения комментариев - для новых нод и для уже существующих нод.

Отключение комментирования для новых нод

Чтобы отключить комментирование для всех вновь создаваемых нод этого типа нужно сделать следующее:

 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>