[РЕШЕНО] Зависимость полей при выводе

Главные вкладки

Аватар пользователя Kubakh Kubakh 19 сентября 2014 в 17:14

Ребят, ломаю голову который день.
Есть тип материала "Событие"
В нём есть поля
"Видео"
"Фото"

Естественно при выводе, если оба поля содержат какое-либо значение оба показываются в анонсе (teaser). Мне же нужно сделать так, чтобы при присутствующем значении в поле "Видео" (не пустое) поле "Фото" не выводилось...

Что посоветуете? Кроме Views... Не то, чтобы не умею - не хочу сервер нагружать... Лучше стандартными средствами выводить.

Комментарии

Аватар пользователя Kubakh Kubakh 22 сентября 2014 в 9:52

ХулиGUN wrote:
"Kubakh" wrote:
Очень остроумно! Чтоб вам так всегда отвечали...

А что Вы хотели услышать?
preprocess_node()
Делаете проверку на наличие/отсутствие нужных Вам значений, затем unset() ненужных полей. Всё

Угу. Спасибо, буду копать. Уже лучше )

Аватар пользователя roman-yrv roman-yrv 22 сентября 2014 в 11:19

В ВАШАТЕМА_preprocess_node(&$vars) сначала с помощью функции kpr($vars) посмотрите, что там за поля у этой переменной, а затем если поле "видео" там не пустое и режим вывода у ноды - teaser, то делайте unset с полем "фото".

Аватар пользователя Kubakh Kubakh 23 сентября 2014 в 13:37

Всем спасибо!!!! Решил таким образом в template.php

function МОЯТЕМА_preprocess_node( &$variables ){
        if ($variables['view_mode'] == 'teaser' && isset($variables['content']['field_video'])){
                hide($variables['content']['field_photo']);
        };
}