Поздравляю! Вы попали в архивный блог! Все новые материалы публикуются на hmdw.meX
Просмотров: 5300

Drupal 7. Views PHP и недоступность значений полей материалов

Всем привет!

Предыстория:

Не так давно понадобилось применить для сортировки значение суммы двух полей материала (даже не спрашивайте нафига это было нужно =)) и собственно решил я применить поле математическое выражение в котором складывал бы [field_a]+[field+b] и отсортировать по значению [expression], но вот ведь незадача - само поле математическое выражение в раздел сортировки не добавляется (вернее его нет в списке доступных). Тогда решил я применить для этих целей Views PHP и выдернуть значение [expression] оттуда или на крайняк сложить эти два несчастных поля там. Тут оказался тоже небольшой облом который есть в обсуждении тут http://drupal.org/node/1172360

По советам из той темы решил посмотреть содержимое переменных которые доступны из поля. В качестве php-кода я ввел: dsm($row1) (функционал модуля devel который очень полезен при разработке сайта на drupal). Как оказалось значения многих полей были равны какому-то непонятному числу и все, данных никаких нет.

Решение

Только потом я допетрил что это id ноды значения полей которой мне нужны. Ну если мы знаем id,то значения полей выдернуть не проблема. Вот код который я применил:

//Загружаем все поля ноды в stdObject class
$t=node_load($row1->field_a);
//$row->field_a - тут лежит только id нужной нам ноды
echo $t->{'field_a'}['und']['0']['value'];
//Вот уже само значение поля

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru livejournal.ru yandex.ru
Теги: , , ,
Эта запись опубликована: Среда, 25 января 2012 в рубрике Web-разработка.

Оставьте комментарий!