Drupal. Отлаживаем SQL запросы Views.

Иногда бывает очень полезно увидеть в режиме реального времени какие запросы выполняются нашими Views. Делается это достаточно просто. Предполагается, что Drupal стоит на Вашей локальной машине или Вы имеете ssh доступ к серверу с Drupal, модуль Devel также должен быть установлен (хотя можно переписать, чтобы работало без него, но зачем?). В своем модуле добавим хук views_pre_execute, который и будет перехватывать SQL запрос.

Количество результатов Views в меню

Иногда бывает нужно вывести в скобках пункта меню, который ведет на views, показать количество результатов. То есть, чтобы выглядело все примерно так:

snimok_ekrana_2014-02-10_v_12.18.01.png

Для реализации этого можно добавить в своем модуле следующий код:

Drupal. Добавляем Views в свой модуль.

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

Добавляем перечеркнутое поле старая цена в Ubercart Views (Drupal).

Итак задача: у нас есть вывод материалов типа уберкартовский продукт, и нам нужно добавить перечеркнутое поле с текущей ценой (старая цена), а вместо цены вывести старое значение - 12%. То есть у нас в шопе все как бы подешевело на 12% и мы доносим это все нашим клиентам. Приступим.

Чтобы отнять от числа какой-то процент, пользуемся следующей формулой:
n-p%=n*(1-p/100)
Для 12% (Х-12%):
Х-12%==Х*(1-12/100)==Х*0.88

Drupal - Передача аргументов во view типа блок

Views не предусматривает передачу аргументов в блок. Однако, это можно обойти довольно простым способом. Для этого в настройках аргумента выбираем для Action to take if argument is not present значение Provide default argument. И в качестве Default argument type используем например такой PHP Code: