Drupal → Модуль Views Custom Field — свои поля в представлениях Views

15.01.2011

Описание

Модуль Views Custom Field позволяет добавлять в представления три новых типа полей:

  • Markup — Произвольный текст пропущенные через один из форматов ввода.
  • PHP code — PHP код.
  • Rownumber — Номер текущей строчки.

Установка

Процесс стандартный — скачать последнюю стабильную версию, распаковать в sites/all/modules, включить.

Использование

Покажу на примере как можно использовать тип поля PHP code.

Допустим есть тип материала Товар, у которого есть CCK поле Цена. Задача — в таблице со списком товаров, в одном из полей вывести перечёркнутую цену товара и рядом цену товара с 10-и процентной скидкой.

Создаём представление. Добавляем необходимые фильтры, критерии сортировки, поля. Меняем настройки по вкусу.

Добавляем поле Содержимое: Цена с отмеченной опцией Исключить из вывода (это для того, чтобы поле не выводилось в таблице, но оно было доступно в php-коде):

Настройки поля Цена

Добавляем поле Customfield: PHP-код и прописываем значение:

<pre><?php print_r($data); ?></pre>

После этого в предпросмотре, в каждой строке, появится дамп переменной $data:

Эти данные можно использовать в php коде. Список свойств будет меняться при добавлении/удалении новых полей, фильтров или критериев сортировки.

Теперь, когда мы знаем что цена товара лежит в переменной $data->node_data_field_price_field_price_value, можно легко вывести эту цену с учётом скидки. Для этого прописываем новое значение поля Customfield: PHP-код:

<?php
$price = $data->node_data_field_price_field_price_value;
$discount = round(($price / 100) * 10);
echo '<s>' . $price . '</s> ';
echo $price - $discount;
?>

Настройки поля Customfield: PHP-код

Результат:

Таблица с ценой товаров с учётом скидки в 10%

Ещё примеры использования.

Версия под Drupal 7.

Написанное актуально для
Views Custom Field 6.x-1.0
Похожие записи

Комментарии

siteograf.com
18.01.2011, 13:35

Отлично! спасибо! хоть кто-то нормально объяснил по этим полям!
Классный блог по друпалу.

Гость
11.03.2012, 11:00

Очень хорошо написано! Есть вопрос немного не в тему, а возможно использовать полученные переменные в фильтре или аргументе?

Виталий
12.05.2012, 12:21

У меня вопрос. Это всё работает...и тогоже результата можно добится не подключая модуль Views Custom Field и не мудрить с php....но что при таком варианте что при другом, поля эти не выводятся для гостей, только для авторизированных пользователей. Как вывести их для гостей сайта??

Виталий
12.05.2012, 12:33

у меня есть сайт sheer.com.ua(не реклама) под текстом "Запрос на обратный звонок" есть фото менеджера и его контакты так вот тел. мыло и скайп не выводятся а когда я захожу под админом и просматриваю сайт то мне всё выводится....может это в настройках сайта или поля???

Добавить комментарий