Drupal 7

Как вывести webform в попапе

Сегодня мы поговорим о том, как вывести в попапе форму, создаваемую модулем Webform. Выводить ее мы будем с помощью Ctools modal API, более подробно я уже писал о нем в своем уроке Ctools modal API. Работа с модальными окнами.

Шаг 1. Создаем страницу, на которую будет посылаться ajax запрос:

/**
 * Implements hook_menu().
 */...
Benya

Как переопределить theme функцию в Drupal

Для того, чтобы переопределить theme фунцкию необходимо имплементировать хук hook_theme_registry_alter():

/**
 * Implements hook_theme_registry_alter().
 */
function example_theme_registry_alter(&$theme_registry) {
  // В массиве $theme_registry ключом является название theme функции, определяемое в hook_theme().
  // Массив содержит информацию, возращаемую hook_theme(), а...
Benya

Как связать свою сущность с Pathauto в Drupal

Тема сегодняшнего урока это интеграция сущности с модулем Pathauto. Чтобы решить поставленную задачу, необходимо, чтобы сущность поддерживала токены. Как это сделать читайте в моем предыдущем уроке поддержка токенов для своей сущности в Drupal.

И так, переходим от слов к делу, скачиваем модуль Pathauto, открываем product....

Benya

Поддержка токенов для своей сущности в Drupal

Сегодня мы поговорим о том, как сделать поддержку токенов для своей сущности. Как и в случае с предыдущим уроком, в котором я рассказывал как связать свою сущность с Views, у нас будет два способа решения данной задачи, один - с помощью модуля Entity API, второй - самописный код.

Способ 1

Данный способ очень прост, включаем модуль Entity tokens...

Benya

Как связать сущность с модулем Views в Drupal

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

Способ 1

Сразу отмечу, что данный способ подходит только если сущность была создана с помощью модуля...

Benya

Как создать сущность в Drupal

В сегодняшнем уроке я расскажу, как написать свою сущность. Писать мы будем с применением модуля Entity API, поэтому нам необходимо скачать и установить этот модуль. Для примера, создадим сущность product. Файловая структура модуля у меня получилась такая:

  • product
    • product.info
    • product.install
    • product.module
    • product.pages.inc
    • product.admin.inc
    • js
      • product-fieldset-summaries.js
    • templates...
Benya

Как использовать db_merge в Drupal

В Drupal, db_merge представляет собой сочетание Insert запроса и Update запроса. Если в таблице существует запись с заданным первичным ключом, то выполняется Update запрос, если нет - Insert запрос.

Простое слияние

db_merge('example')
  ->key(array('id' => $id))
  ->fields(array(
    'field_1' => $value_1,
    'field_2' => $value_2,
  ))
  ->execute();

В этом примере, мы выполняем запрос на примере таблицы "example". Мы указываем ключевое поле "id...

Benya

Как загрузить сущность по значениям ее полей

В Drupal существует класс EntityFieldQuery, который позволяет получить сущность по значениям ее полей.

Пример использования

$query = new EntityFieldQuery();
// В качестве первого параметра допустимо передавать следующие значения:
// 'entity_type', 'bundle', 'revision_id' или 'entity_id'.
$query->entityCondition('entity_type', 'node');
// В качестве первого параметра допустимо передавать название колонки таблицы...
Benya