Drupal 7

Статьи, записки и заметки по теме Drupal 7

Как программно авторизовать пользователя

mbaev 24.05.2016, 12:24

В Drupal'е очень легко авторизовать пользователя. Для этого нужно знать всего лишь User ID.

  1. $uid = 1;
  2. $account['uid'] = $uid;
  3. user_login_submit(array(), $account);

После авторизации таким способом, пользователь будет перенаправлен на страницу пользователя. Иногда этого делать на надо, тогда можно авторизовать более низкоуровневым способом.

Изменение модального окна CTools

mbaev 12.05.2016, 07:52

Модуль CTools, был написан программистом по имени Earl Miles. Он так же написал такие модули Views, Panels и другие. CTools предоставляет большое количество вспомогательных функций, которые упрощают жизнь программисту. На текущий момент у модуля CTools нет официальной страницы с документацией.

Это описание одной из фич модуля CTools, а именно изменение модального окна.

Простой вариант

Темизируем любое окно, вызванное ссылкой/кнопкой.

Красивая запись в watchdog

mbaev 11.05.2016, 14:53

Когда пишется кастомный модуль, то обычно существует обработка ошибок с помощью watchdog или watchdog_exception. Стандартный вывод такого сообщения выглядит не информативно и мало-симпатично. Следующий пример обработки ошибки можно встретить достаточно часто:

Как вытащить контекстные ссылки

mbaev 28.04.2016, 10:26

Однажды я столкнулся с необходимостью вытащить все action ссылки и табы из нод и сделать из них контекстные ссылки, примерно так, как это делает модуль Contextual links. Этот модуль мне не нравится потому, что он не позволяет настроить отображение контекстных ссылок только в нодах.
Итак, у нас есть какая-то своя тема или модуль и этого достаточно, чтобы вывести красивое контекстное меню для нод.

contextual-links-collapsed contextual-links-expanded

Работа с токенами. Часть 2

mbaev 21.04.2016, 08:44

В предыдущей статье говорилось о том как работать с токенами, где были описаны простые варианты. Продолжим о более сложных, а именно следующие два:

  1. создание группы токенов;
    tokens-2.1

  2. добавление группы токенов в сущестующую группу;
    tokens-2.3

Создание группы токенов

Здесь достаточно объявить тип токена и наполнить его токенами.

Установка и настройка модуля Token Filter

mbaev 19.04.2016, 09:23

Это памятка о том, как работать с модулем для Drupal 7 Token Filter, необходимым для обработки полей body в тексте материала. Например, он может понадобиться при особой работе с токенами.

Установка ни чем не отличается от стандартной установки модуля, поэтому о настройке: модуль Token Filter "закрепляется" за текстовым форматом, таким образом не следует переживать о производительности!

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

Работа с токенами. Часть 1

mbaev 18.04.2016, 08:29

Немного о токенах

Здесь будет описано несколько вариантов работы с токенами. Токены предоставляет третий по популярности модуль Token. Токены - это специальные слова обрамленные квадратными скобками ("[", "]"), которые в некоторых случаях могут заменяться на смысловые значения. Например, если установить четвертый по популярности модуль pathauto, то в админке "Home » Administration » Configuration » Search and metadata » URL aliases" (admin/config/search/path/patterns) можно будет использовать токены для генерации человекочитабельных путей (алиасов) к страницам:
URL Patterns

Чтобы получить список токенов достаточно кликнуть на ссылку Browse available tokens (Показать список доступных токенов), после чего откроется всплывающее окно.