Настройка макета галереи в Drupal с помощью Views и CCK - PullRequest
0 голосов
/ 22 июня 2009

Я создаю сайт галереи / альбомов в Drupal 6. Возможно, описание будет немного подробным, но все же по какой-то причине сложно создать галерею в Drupal простым способом.

На данный момент я использую комбинацию CCK + Views + FileField + ImageCache + Lightbox2.

Это позволило мне - создать тип узла Album CCK, который может содержать несколько изображений - создать представление, которое отображает альбомы в формате 9x9 (используя пейджер и элементы в строке)

Но здесь есть одна проблема. Хотя основной вид 9x9 с альбомами отображается хорошо, когда я детализирую конкретный узел альбома, щелкнув его изображение, он отображает загруженные изображения узлов в вертикальном ряду , и я не могу контролировать его форматирование.

Видимо, у меня есть 2 варианта а) каким-то образом контролировать вывод html моего поля CCK с его файлами (делить на строки) б) или создать другой вид для отображения картинок из одного альбома

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

а) Я могу создать файл node-album.tpl - но все его содержимое уже будет в одной переменной $ content, которую я не смогу разбить на 3 элемента подряд. Я не прав?

b) если я решу создать представление для отображения элементов из одного узла Album, я не уверен, как я ссылаюсь на него из родительского представления Albums. Проблема в том, что в разделе Поля представления я могу переопределить Ссылку, но он предлагает только 2 шаблона замены для передачи в потенциальное «дочернее» представление, которые [title] и [field_images_fid] - этого достаточно для создания дочернего элемента. посмотреть, чтобы показать изображения из определенного альбома?

Ответы [ 2 ]

1 голос
/ 23 июня 2009

Я просто записал скринкаст, описывающий один подход . В комментариях довольно много дискуссий об альтернативных методах; Я бы определенно рекомендовал использовать Views Attach , если вы хотите больше контролировать презентацию самой галереи.

0 голосов
/ 23 июня 2009

Я могу создать файл node-album.tpl - но все его содержимое уже будет в одной переменной $ content, которую я не смогу разбить на 3 элемента подряд. Я не прав?

Вы правы и неправы.

В вашем файле template.php вы можете передать другие переменные в ваш node-album.tpl, вы можете передать переменную $ node и отобразить ее очень настраиваемым способом, хотя в дальнейшем это уменьшит гибкость, как если бы вы использовали другой модуль для добавления вещей в $ content вам придется отредактировать файл tpl для доступа к новым переменным.

Для этого вы используете ловушку preprocess_page в файле template.php. Вы можете добавить переменные в массив $ vars и использовать их в файле node-album.tpl. Я думаю , что $ node уже будет определен в файле tpl, что, вероятно, облегчит вашу жизнь. Вы можете игнорировать контент вообще.

Если это не работает для вас, вы также можете создать собственный модуль и использовать hook_nodeapi и hook_theme для создания темы тем, что вам нравится, при этом используя $ content. Однако для вас может потребоваться слишком много работы (если вы хотите пойти по этому пути, ответьте, а я напишу отдельный ответ).

...