Здравствуйте!
Появилась необходимость вывести views в модальном окне (в моём случае - Colorbox), причём выводить его не из скрытого дива, заранее загруженного на страницу, но грузить его после вызова этого модального окна. Стал искать информацию на эту тему, но так и не сумел обнаружить конкретных вариантов того, как это можно сделать. Из более-менее рабочих решений нашёл только один: выводить views по конкретному пути, темизировать этот путь через отдельный шаблон page-myalias.tpl.php и подгружать его как iframe, но меня этот такой вариант не устраивает по некоторым причинам. Пожалуйста, посоветуйте, как ещё можно решить подобную задачу?
Комментарии
при установке Lightbox2 в views в добавлениии полей есть поле Lightbox trigger ,в котором можно указать поля вьюхи которые выводить в Lightbox .
Спасибо, но это не то — мне нужно не определённые поля выводить, а всю вьюсу целиком.
Значит надо туда добавить все поля вьюхи ,по-моему логичное и правильное решение .
Возможно, мы говорим о разных вещах. Мне нужно, чтобы вся вьюса целиком выводилась в одном модальном окне при клике по ссылке определённого вида. То, о чём говорите вы, как я понимаю, это вывод отдельных полей в отдельных модальных окнах. Разве не так?
Lightbox trigger - это и есть ссылка при клике на которую выводятся поля вьюхи ,хочешь всю полностью ,хочешь несколько нужных полей.
Все остальные поля в настройках убираются для отображения и остается только ссылка Lightbox trigger ,при клике вылазит модальное окно с вьюхой ,единственное ,что может не совсем корректно отображать всю вьюху в опере .
Спасибо за терпение, но, как я вижу, при клике на ссылку/триггер выводятся все поля одной строки вьюсы, а мне нужно, чтобы в боксе выводились вообще вся вьюса целиком.
прочитай внимательно http://www.drupal.ru/node/56627
здесь надо вручную делать ,тот же Lightbox 2 позволяет выводить при клике на ссылку страницу в боксе ,а в качестве адреса указать адрес вьюхи .
на http://www.fancybox.net/ можно реализовать вывод при клике на ссылку контента в боксе с указанного урла - там ссылка вида < a class="iframe" href="http://www.google.ru">погуглим? ,только там надо обязательно указать class="iframe" .
Да, спасибо. Этот вариант я, конечно, тоже рассматривал, в стартовом посте как раз об этом говорил. Там минус в том, что либо в боксе выводится вьюса со всем прочим содержимым (хедер, футер, сайдбары, меню), либо, если я в шаблоне обрезаю всё содержимое только до вывода самой вьюсы, при попытке просмотра вьюсы по её адресу (а не в модальном окне), она видна кастрированной :/
Наверное уже не актуально, но все же. Почему бы не попробовать так:
1. Создаем вьюху которую нам надо будет выводить потом в модальном окне.
2. С помощью модуля Views Field View вставляем в поле другой вьюхи нашу целевую вьюху, скрываем ее (exculded).
3. Добавляем сюда же поле colorbox/lightbox trigger с выводом нашего поля с вьюхой (пункт 2).
Но я не пробовал, это в теории.
Попробовал свой способ. Реально работает! Блоком конечно тоже можно (как сказано ниже), кому что ближе как говориться... Если у кого проблемы возникают с моим способом, пишите — объясню подробно!
Отличный вариант, спасибо большое! Правда долго разбирался с триггером. Муторная настройка.
Спасибо за совет. Я в итоге сделал по-другому — у меня есть блок, сформированный views, его я вывожу через свой модуль при обращении по определённому адресу (my_module/get_my_view/view_args). А потом я выстраиваю ссылку, которая подгружает в колорбокс через аякс этот блок при клике по ссылке. Дёшево и сердито
Ну тогда я думаю можно ставить [РЕШЕНО] в заголовке темы.
а как в colorbox/lightbox trigger вывесит поле со вюхой(пункт 2)?
разобрался. используем подстановочные шаблоны)
Объясните пожалуйста подробнее, не получается что-то никак.
Спасибо.
Опишите ваши действия по пунктам... лучше со скриншотами настроек views... и я вам укажу на ошибки. Так будет продуктивнее.