Описание
Модуль 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;
?>
Результат:
- Модуль Views field replace value — замена значений полей в Views
- Модуль Geofield Yandex Maps — ввод и вывод гео-информации на Яндекс.Картах 2.1
- Модуль Google Analytics Statistics — вывод популярных материалов с помощью Views на основе данных Google Analytics
- Search API и поиск с морфологией
- Краткий обзор моей песочницы на drupal.org
Комментарии
Отлично! спасибо! хоть кто-то нормально объяснил по этим полям!
Классный блог по друпалу.
Спасибо, очень помогло.
ага, только вот http://sidashin.ru/node/37 :)
Anton S, спасибо, любопытно
Очень хорошо написано! Есть вопрос немного не в тему, а возможно использовать полученные переменные в фильтре или аргументе?
У меня вопрос. Это всё работает...и тогоже результата можно добится не подключая модуль Views Custom Field и не мудрить с php....но что при таком варианте что при другом, поля эти не выводятся для гостей, только для авторизированных пользователей. Как вывести их для гостей сайта??
поля выводятся для всех
у меня есть сайт sheer.com.ua(не реклама) под текстом "Запрос на обратный звонок" есть фото менеджера и его контакты так вот тел. мыло и скайп не выводятся а когда я захожу под админом и просматриваю сайт то мне всё выводится....может это в настройках сайта или поля???
возможно кэш
очистка кеша не помогает....
Добавить комментарий