У каждой ноды есть поле field_ip, которое автоматом заполняется ip адресом автора материала. Пытаюсь сделать блок для админа в котором бы отображать материалы содержащие такое-же значение field_ip что и просматриваемый (типа с этого IP адреса были добавлены такие-то материалы..).
Добавил в "Contextual filters" "Содержимое: IP адрес (field_ip)"->"When the filter value is NOT available"->
"Provide default value"->Тип->PHP Code
<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) && !drupal_is_front_page() ) {
$node = node_load(arg(1));
if ($node) {
dd($node->field_ip['und'][0]['value']);
return $node->field_ip['und'][0]['value'];
}
}
else {
return FALSE;
}
?>
Не работает, никак не пойму в чем ошибка, в "Preview with contextual filters:" ввожу ID существующей ноды ('950')
Отображается следующий Query:
FROM
{node} node
LEFT JOIN {field_data_field_ip} field_data_field_ip ON node.nid = field_data_field_ip.entity_id AND (field_data_field_ip.entity_type = 'node' AND field_data_field_ip.deleted = '0')
WHERE (( (node.status = '1') AND (field_data_field_ip.field_ip_value = '950') ))
ORDER BY node_created DESC
Смущает вот это:
(field_data_field_ip.field_ip_value = '950')
По идее вместо '950' должно быть IP адрес текущей ноды...
Комментарии
Правильно ли я вообще это делаю? Мне нужно отобразить в блоке views ноды с таким же значением поля CCK.
РЕШЕНО! Установил галочку "Skip default argument for view URL" и все заработало как надо!
Превью правда так же не работает, но судя по всему так и должно быть, на странице просмотра ноды все ОК!