Здравствуйте
Вопрос в теме
Пример страницы внизу
Т.е. внутри текста в произвольных местах вставлять галереи
В качестве галереи подходит Juicebox
Предполагаю что можно сделать через токены, но по запросу drupal gallery token толком ничего не нашёл
Есть вроде вариант сделать views с галереей и через "Token embed views" вставлять, но как то сложно ИМХО.
Комментарии
хм, да взять и написать свое.
по сути вам нужно написать свой токен с входным параметром айди сущности (айди ноды). И далее генерировать к этому токены вывод галереи.
Если не через токен, то сделать альтер вывода и ввязать свой уникальный тег, который будет менять на ваш код галереи.
Хороший пример есть на симпл мапс, там именно так сделано.
Но что бы готовый вариант - не встречал.
Кстати, спасибо за идею. На досуге напишу этот момент с галереей и подвязкой к полю имедж.
Спасибо за ответ
Раз ничего нет готового попробую своё написать
P.S. похоже это мой первый пост после которого меня не закидали помидорами
Пошёл компромиссным путём, поставил Gallery Formatter, указал его в качестве форматера для поля с изображениями у целевой ноды (по инструкции)
Плюс модуль с реализацией токена:
$type = array(
'name' => t('gallery'),
'description' => t('Gallery'),
);
$gallery_node['gallery_node'] = array(
'name' => t('gallery_node'),
'description' => t('Gallery node'),
);
return array(
'types' => array('gallery' => $type),
'tokens' => array('gallery_node' => $gallery_node),
);
}
function mymodule_tokens($type, $tokens, array $data = array(), array $options = array()) {
$replacements = array();
if ($type == 'gallery') {
foreach ($tokens as $name => $original) {
$node = node_load($name);
$display = array('type' => 'galleryformatter_default');
$tmp = field_view_field('node', $node, 'field_gallery_image', $display);
$replacements[$original] = render($tmp);
}
}
return $replacements;
}
Возможно в чём-то ошибся, поправьте если так..
P.S. t1mm1, ещё раз спасибо
Я это и имел ввиду )
С единственной поправкой - использовать без определенного форматтера и в виде постоянного тега.
Например, у вас текст в ноде :
bla bla bla bla bla bla bla bla
bla bla bla bla bla bla
bla bla bla bla bla bla bla bla
bla bla bla bla bla blabla bla bla bla bla bla bla bla
bla bla bla bla bla bla
И вы заменяете на html галереи. По такому же принципу работают токены, и вы верно все написали. Просто я не до конца понимаю, зачем форматтер для поля с кратинками. Что бы не выводить их в обычном поле? ТАк его можно было просто отключить.
Другой вопрос, что если нужно разбивать галерею. С этим сложнее. Хотя тоже решаемо (правда кастомным филд тайпом для картинок).
Кстати, как по мне - отличная идея. По моему в контриб решениях нет такого. По крайней мере я не нашел.
или создать вьюс по аргументу, и блоком его вставлять в ноду, например insert_block
Заводской раб Спасибо, я похожй вариант рассматривал сначала, только с модулей "Token embed views"
t1mm1 "зачем форматтер для поля с кратинками". Просто время сэкономить, форматтер сразу выдаёт готовый html код jQuery галереи. Указывать его для поля с изображениями в настройках поля действительно не обязательно :), я просто по инструкции ставил
а, теперь понятно.
просто я заморочился.
У меня такая задача тоже предстоит. Буду делать модулем, что бы потом пилить под другие проекты.
для друпала такое тоже есть https://www.drupal.org/project/paragraphs