Галерея на views [решено]

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

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 14:43

Нужно было организовать галерею.

Для этого создал тип данных, и прикрутил к нему colorbox. Каждый отдельный материал - это своего рода альбом. Но вывод этих материалов сейчас только в новостной ленте. А надо бы галерею выводить ещё в двух местах:
1. В отдельном блоке на каждой странице - последние 5-10 фотографий из всех альбомов (материалов).
2. Каждый отдельный альбом (материал) где-нибудь посреди страницы (в смысле посреди материала типа Basic Page).

И если первый пункт я думаю можно решить при помощи views, то как быть со вторым я ума не знаю, так как новичок в drupal. Как это сделать?

Комментарии

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 17:32

"kreaton" wrote:
c помощью модуля EVA (Entity Views Attachment) можно присобачить вьюс к сущности (ноде) в качестве филда (это по 2 пункту)

Как я понял, EVA отображается как поле. То биш оно будет либо выше текста Basic Page, либо ниже.
А мне надо чтобы галерею можно было вставить в любое, произвольно место в тексте Basic Page.

Аватар пользователя kreaton kreaton 2 февраля 2014 в 17:36

В таком случае вам понадобится формат ввода PHP-код. Программно выводите вьюс в любом месте в теле статьи

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 18:02

Сейчас попробовал:
Прямо в окне редактирования материала переключился на правку исходного кода, и ввёл следующий код:

<?php
$block 
module_invoke('views''block''view''side_galery');
print 
$block['content'];
?>

Но при просмотре материала вышло следующее:

$block = module_invoke('views', 'block', 'view', 'side_galery');
print $block['content'];
?>

То есть друпал воспринял этот код как текст.
В чем дело?

Аватар пользователя kreaton kreaton 2 февраля 2014 в 18:04

"kreaton" wrote:

В таком случае вам понадобится формат ввода PHP-код.

Именно так. Вам нужно включить модуль PHP filter, а при создании/редактировании материала выбрать формат ввода PHP

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 18:44

"kreaton" wrote:
Именно так. Вам нужно включить модуль PHP filter, а при создании/редактировании материала выбрать формат ввода PHP

Все. Разобрался, вывел. Спасибо большое.

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 19:31

Как вывести конкретную views в материале понял. А как сделать views для каждой галереи? В фильтрах я не смог найти такую фильтрацию, чтобы выдавать в каждой views отдельный, конкретный альбом (материал).

Аватар пользователя kreaton kreaton 2 февраля 2014 в 20:05

Если я правильно понял, нужно вывести галерею в зависимости от того какой материал мы просматриваем. Если так, то во вьюс нужно добавить контекстный фильтр id содержимого (из URL).

Аватар пользователя tanshihai tanshihai 2 февраля 2014 в 20:17

"kreaton" wrote:
Если я правильно понял, нужно вывести галерею в зависимости от того какой материал мы просматриваем. Если так, то во вьюс нужно добавить контекстный фильтр id содержимого (из URL).

Да, то что нужно. Теперь вопрос закрыт.