Вопрос по views_embed_view

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

Аватар пользователя Eventus Eventus 24 октября 2011 в 15:58

Всем привет.
Наткнулся на такую проблему и надеюсь на вашу помощь Smile

Значит так. У меня в шаблоне ноды выводится представление через views_embed_view, с аргументом(ид ноды) (print views_embed_view('video', $display_id = 'page', $node->nid); ).
Перед этим выводом стоит заголовок этого блока(в шаблоне ноды). Вот надо сделать так, что если вьюшка пустая(т.е. нету инфы для этого аргумента), то заголовок не выводить.

Не знаю, как сделать. На что можно проверить, чтобы выяснить, пусто там или нет...

Комментарии

Аватар пользователя q2_faith q2_faith 24 октября 2011 в 16:10

"Eventus" wrote:
Не знаю, как сделать. На что можно проверить, чтобы выяснить, пусто там или нет...

на аргумент?

Аватар пользователя Orion76 Orion76 24 октября 2011 в 16:36

в настройках вьюхи есть опции - что выводить, если выборка пуста...выводите какой-нибудь уникальный набор символов... а в шаблоне ищите его в выводе views_embed_view

Аватар пользователя q2_faith q2_faith 24 октября 2011 в 16:42

"orion76" wrote:
в настройках вьюхи есть опции - что выводить, если выборка пуста...выводите какой-нибудь уникальный набор символов... а в шаблоне ищите его в выводе views_embed_view

я так понял что views_embed_view в шаблоне завернут в заголовок
хотя кстати почему не хотите в шапке вьюшки вывести этот заголовок?

Аватар пользователя Eventus Eventus 24 октября 2011 в 17:32

orion76, просто поиском в строке? Да, такой выход приходил...но думал, что есть более простое решение. Выглядит как-то не совсем хорошо Smile
«хотя кстати почему не хотите в шапке вьюшки вывести этот заголовок?»
Не совсем понял. Как?
views_embed_view не выводит заголовок вьюшки...или я что-то не так понял Smile Пока нуб в друпале.
Если же выводить отдельно заголовок вьюшки, то он выводится в любом случае, даже если вьюшка пуста (т.е. к такому аргументу нет элементов).

В шаблоне идёт так:
див
Н2 Заголовок /Н2
views_embed_view(...)
/див

Аватар пользователя q2_faith q2_faith 24 октября 2011 в 17:52

есть поле header(или заголовок), там можно вставить любой текст, в том числе html, php
и там есть галочка выводить ли заголовок при пустом значении

Аватар пользователя Shok211 Shok211 24 октября 2011 в 18:24
  1. Если проблема не решена то предлагаю для начало создать views
  2. потом выполнить его конструкцию (На этом шаге у вас будет гиганткий масив views в котором вы сможете найти интересюющее вас значения)
  3. затем обыный drupal_render
  4. Плюс такого подхода в том что если значения из views передаются ещё куда либо вам не нужно их откуда либо брать
Аватар пользователя Eventus Eventus 30 октября 2011 в 21:40

Отвлекся от проблемы Smile
q2_faith — это понятно, но нужен не тот заголовок Smile
Это заголовок элемента, я так понял? Нужен заголовок вьюшки вообще.

Shok211 — 2-й пункт не понял Smile

Решил задачу через проверку, есть ли в строке див с элементами вьюшки. Если его нет, то значит она пустая и блок не выводить...не уверен просто, что это оптимальный способ.

Аватар пользователя q2_faith q2_faith 30 октября 2011 в 21:48

"Eventus" wrote:
q2_faith — это понятно, но нужен не тот заголовок Smile
Это заголовок элемента, я так понял? Нужен заголовок вьюшки вообще.

не правильно поняли, это заголовок, который будет выводиться перед вьюшкой, заверните в h2. в итоге заголовок будет выводиться с вьюшкой

Аватар пользователя Orion76 Orion76 31 октября 2011 в 10:44

Что-то сразу не сообразил... А не проще Заголовок выводить тоже вьюсом... нет вьюса - нет заголовка.. или какие-то сложности?