Всем доброго времени суток.
Создан view, который отображает поля в виде таблицы.
В зависимости от того заполнено определенное поле ноды или нет должна выводится соответствующая картинка.
Поле, которое проверяется, во view не включено.
Есть у кого-нибудь идеи?)
Комментарии
Примитивное PHP-условие: если поле есть показывать, если нет, то, соответственно, не показывать
Через node_load(), я правильно понимаю?
Идеи есть)
Тебе собственно уже ответили.
А не проще ли подгружать ещё одно(это твоё то самое) поле во вьюсе,чем в цикле использовать node_load ?
Там всего 8 полей, по которым надо определить выводить или нет)
Включил во вьюс поле node:nid, по нему проверяю теперь через node_load() заполнены ли поля. Вроде работает)
Не знаю о каком цикле идет речь, темизировал views-view-table, выводил отдельно каждое поле.
Вьюс выводит несколько нод,верно?это цикл.- 1 запрос.
предположим нод 10 штук. если при каждом обходе цикла делать node_load - это ещё 10 запросов.
итого 11.
А если в первом запросе добавить поле.которое ты получаешь чрез node_load- то будет 1 запрос.
Если не очень понятно о каких моментах в работе SQL я сейчас говорю-не парься,я сам раньше так делал,на чистом php.. Потом сам дойдешь..
Почти все понятно, не ясен только один момент:
как добавить поле и не выводя сделать его проверку в коде?) или в самом views)
Очень просто)Через темизацию вьюхи. Проверяешь значение выводимого поля средствами php в шаблоне вьюса(в коде стало быть).
тоесть вьюха выводит поле.создаешь шаблон только для этого поля.в нем будет написано print $output вроде,это не суть.
так вот-ты вместо print пишешь своё условие if(чтото там) получится так то..
Или темизируешь шаблоном сразу всё отображение вьюхи.. вот так. Тогда проверив значение одного поля-можешь даже управлять другими полями вьюхи)
Понял) спасибо) К сожалению сайт уже сдали) вроде грузится нормально) ну ничего, на следующем испробую)