Как вывести на странице материала-1 другие материалы-2, значения соответствующего поля которых превышает текущее у материала-1?

Аватар пользователя engenes engenes 19 августа 2017 в 12:23

Превышает, это я для примера написал, условие может быть любое главное произвести сравнение.
Что сделал:
- создал представление-блок с материалами
- вывел его на странице
- включил контекстный фильтр
- в нем "КОГДА ЗНАЧЕНИЕ ФИЛЬТРА НЕ ДОСТУПНО" выбрал "Передать значение по умолчанию" php-код
- с помощью которого по url выкачал значение поля из материала-1

<?php
$val
=node_load(arg(1))->field_my_field['und'][0]['value']
?>

но вот дальше мне по-хорошему нужно выкачать значения из полей материалов которые выводятся в блоке и сравнить с моим $val, но как это сделать не представляю

подскажите как решить проблему? может быть кто то делал что то подобное?
мне достаточно хотя бы описание логики на русском языке)

Лучший ответ

Комментарии

Аватар пользователя engenes engenes 19 августа 2017 в 18:33

Буду благодарен, если напишите хотя бы кратко по шагам как это использовать.
Я так понял это нужно в управлении отображением создать пользовательское поле
Дальше в качестве вывести представление а в качестве аргумента передать Id тех нод, которые соответствуют условию?
Если так то откуда взять эти id для проверки, тут в голову приходит только обращение к бд

Аватар пользователя bumble bumble 19 августа 2017 в 19:36

Это все реализуется в кастомном модуле. Никаких пользовательских полей и представлений.
Выводится в нужном / удобном виде (блок, часть ноды, поле, панель... )
Сам API позволяет делать выборку сущностей по условиям (в т.ч. из полей).

Вам нужно брать значение из нужного поля текущей ноды, и подставлять его в файлдквери. На странице по ссылке куча замечательных примеров.

Если не будет получаться что-то конкретное - приводите примеры. Посмотрим, поможем.

Аватар пользователя engenes engenes 19 августа 2017 в 20:37

Спасибо, кажется то что надо.
Я правильно понял что можно выкачать ноды с услосвием, например все ноды с определенным типом у которых значение поля больше 6 и меньше 10 например?