Хороший модуль viewfield. Позволяет на ноде выводить содержимое вьюх.
Вот беда - если вьюха ничего не выводит поле остается со всеми его div-aми, что нервирует многих психов.
Существует патч https://www.drupal.org/project/viewfield/issues/477244
Но он работает только если во вьюхе присутствует поле NID. А если это моле во вьюхе не требуется. Например нужно проверить вьюху фильтрами (не контекстными).
Кароче если у кого подобные проблемы есть - можете сюда написать.
Патчем пользваться не рекомендую, потому как
без него:
выводятся "лишние" контейнеры если вьюха пустая
с ним:
не выводятся вьюхи не имеющие поля NID
Комментарии
Сайтбилдер может с помощью модуля 'JS injector' внедрить код, который будет удалять такие поля. Например, такой:
// Если открыта страница редактирования ноды, то поля не удаляем
if ( /edit/.test( window.location.href ) ) {
return;
}
jQuery( '.field-type-viewfield' ).each( function() {
if ( jQuery( this ).find( '.view-content' ).length === 0 ) {
this.remove();
}
});
Как внедрить jQuery я знаю. Кто такой Сайтбилдер - нет.
Речь идет о поведении модуля Viewfield и патча, который (в настроящем виде) надеюсь не воткнут в следующий релиз.
Приветствую
Очень интересный вопрос Вы тут затронули.
Как раз пытаюсь решить данную задачу с Viewfield и фильтрацией ...
Спасибо
Проблема в том, что пустой вьюс все равно возвращает враппер
<div class="view view-name-..."></div>
Соответственно - значение филда получается непустым, и оно выводится.
Самое простое - переопределить шаблон вьюса, убрав из него этот враппер
Скажите пожалуйста эта инструкция поможет в решении этого вопроса для новичка?
http://php-include.ru/stati/temizatsiya-shablona-views
Да, только переопределять надо views-view.tpl.php
Andruxa, переписать придется не только шаблон вьюхи но и шаблон поля.
space11, инструкция точно не повредит новичку и пригодится пусть не для этого, так для других случаев.
Если не проверять в шаблоне $view->empty, то да.
div:empty {
display: none;
}
подскажите пожалуйста как сделать наоборот - скрыть div, если есть в нем информация?
display: inline ?
Извините, за глупый вопрос: вы где класс где его свойство понимаете?
display: none;
}
/*или*/
div.my_class:not( :empty ) {
display: none;
}
Я только учусь) Спасибо.
Подскажите пожалуйста можно ли использовать в связке модуль Views Conditional и глобальный фильтр сравнения полей для сравнения и соответственно фильтрации Views Field View и обычного поля представления ?
space11, вам нужно мое разрешение? Если да - разрешаю.
Но лучше распишите задачу, но только в отдельно теме, потому как ваш вопрос к сабжу не относится никак.
Спасибо)