Нужно вывести ноды с контекстным фильтром по полю "телефон" . Вывожу с помощью PHP
<?php
$node = node_load(arg(1));
if (isset($node->field_tel['und'][0]['value'])) return $node->field_tel['und'][0]['value'];
?>
Нормально все выводится, но если совпадение полное. А если в одной ноде указаны 2 номера, а в другой только один, совпадающий с одним из этих двух, то контекст не работает. Как можно подправить код для решения проблемы?
Комментарии
Вам поможет https://www.drupal.org/project/search_api
<?php
$values = [];
foreach ($node->field_tel['und'] as $value) {
$values[] = $value['value'];
}
return implode(',', $values);
?>
Выдает ошибки.
Notice: Undefined variable: node in eval() (line 2 of C:\newsite2\tac\sites\all\modules\views\plugins\views_plugin_argument_default_php.inc(53) : eval()'d code).
Notice: Trying to get property of non-object in eval() (line 2 of C:\newsite2\tac\sites\all\modules\views\plugins\views_plugin_argument_default_php.inc(53) : eval()'d code).
Warning: Invalid argument supplied for foreach() in eval() (line 2 of C:\newsite2\tac\sites\all\modules\views\plugins\views_plugin_argument_default_php.inc(53) : eval()'d code).
Забыл вставить $node = node_load(arg(1));
Вы ж проверяйте код из интернета перед использованием, а то как в том анекдоте:
- странно, я ведь просто скопировал этот код со Stackoverflow.
- Из вопроса или из ответа?
)Работает. Спасибо!
Но речь о контекстных фильтрах вьюс.