Еще одна шпаргалка по Drupal 7. Мы создадим публикацию из PHP, добавим пользовательские поля и даже загрузим файл (изображение) в поле соответствующего типа.
Все записи категории ‘drupal’
Написал и разместил в репозитории drupal.org модуль для работы с меню. В чем смысл делать то, что уже и так вроде как есть?
Давно уже работаю с Drupal, но все никак не мог собраться и найти время, чтобы разобраться с работой репозитория модулей. Определенным препятствием была необходимость использования утилиты git.
Для программных переходов (переадресаций) в drupal используется функция drupal_goto(). Как с её помощью отправить пользователя на главную страницу?
Если вы пользуетесь модулем flag в Drupal, то можете столкнуться с ситуацией, что загруженные по ajax переключатели флагов не работает. Такая ситуация происходит всегда, когда требуется особенная инициализация после загрузки страницы, ситуация с flag не уникальна.
Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в Drupal, нужно определить три параметра — системный адрес объекта, новый псевдоним и код языка.
Раньше для связывания публикаций очень популярным был модуль Node Reference. С выходом 7-ки ему на смену пришел Entity Reference, который позволяет создавать поля со ссылкой на любую сущность (а не только ноды). Разных сущностей на сайте может быть очень много, потому при создании поля Entity Reference мы можем выбрать тип сущности, которые будут представлены в списке для выбора.
Модуль Views также может быть поставщиком значений этого поля. Как создать и настроить представление-поставщик значений для поля Entity Reference мы и рассмотрим в данной статье.
Сейчас все пользуются внешней статистикой вроде метрики от Yandex. Зачем может понадобится внутренняя статистика?
Внутренняя статистика может пригодиться, к примеру, если вы хотите вывести популярные публикации (т.е. упорядочить по количеству просмотров).
Что делают в большинстве случаев после успешного submit данных формы? Вариантов два — либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами.
Первый вариант почти всегда выглядит неказисто, а второй либо является статичным, либо требует привязки к сессии и реализации какого либо пути воспроизведения данных, которые только что были отправлены пользователем.
Drupal обладает развитым набором инструментов с menu, т.к. меню — это одна из составляющих частей Drupal API. Хотя модуль Menu, входящий в состав ядра, можно отключить, но я пока не встречал проектов, в которых был бы отключен данный модуль. И уж совсем нельзя исключить библиотеку работы с меню (/includes/menu.inc).
Изучение API быстрее протекает на практике. Вот одна из таких практических задач — вывод меню (одного или нескольких) в виде одного выпадающего списка (html SELECT, отражающего иерархию пунктов меню.