Drupal: файлы шаблонов, модули и типы контента для продвинутой темы - PullRequest
1 голос
/ 11 марта 2010

Введение

Я пытаюсь преобразовать свой первый дизайн HTML / CSS в тему для Drupal. Я использовал ModX для нескольких проектов и ценю возможность создавать различные шаблоны страниц и настраиваемые переменные, которые будут назначаться этим шаблонам. Однако, похоже, у меня есть некоторые проблемы при переходе.

Сайт, над которым я работаю в Drupal, предназначен для агента по недвижимости. Каждая страница / раздел будет иметь различный набор контента, связанный с ним, и будет необходимо отображать только этот контент. Например, будет страница для текущих списков, каждый из которых будет отформатирован в соответствии с пользовательским типом контента. Однако когда я вызываю контент на домашней странице (или на других страницах), я не хочу видеть эти данные списка.


Компоновка

Структура сайта и регионов, связанных с каждой страницей / разделом, выглядит следующим образом:

  • Home
    • Spotlight
    • Рекомендуемые 1
    • Рекомендуемые 2
  • О
    • Spotlight
    • Bios - Профили каждого агента (каждый будет узлом с именем, контактной информацией, картинкой и т. Д.), Перечисленными на странице; в списке несколько узлов
    • Боковая панель
  • Объявления
    • Spotlight
    • Списки - Профили свойств (каждый будет узлом с местоположениями, базовой информацией, картинками и т. Д.), Перечисленными на странице; в списке несколько узлов
    • Sidebar
  • Услуги
    • Spotlight
    • Содержание - общая текстовая область абзаца
    • Sidebar
    • Новости / Блог
    • Новости / Элементы блога - Список историй с краткими описаниями и ссылками на полную статью
    • Боковая панель

Каждая страница / раздел будет использовать один и тот же верхний и нижний колонтитулы.


Выпуск

Я немного читал о Drupal, пользовательских типах контента (и CCK), Views и Pathauto. Однако я не смог получить четкое представление о том, как собрать все воедино, чтобы выполнить то, что я пытаюсь. Что я действительно хотел бы знать, так это то, какие модули использовать, как их лучше всего использовать, какие элементы мне нужно использовать, где, и какие файлы шаблонов я должен использовать для оформления элементов, которые мне нужно использовать. Любая помощь или ссылки на полезные ресурсы будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 11 марта 2010

Это довольно общий вопрос, и ваше описание является чем-то неопределенным в отношении важных различий, таких как страница, раздел сайта и регион страницы. Тем не менее, некоторые общие советы: начните с установки модуля администратора. Затем получайте весь ваш контент, как правило, в нужных местах с чужой темой, например, Гирлянда, прежде чем ты начнешь делать что-то свое. Вы должны быть в состоянии получить довольно далеко, не касаясь кода. Используйте CCK, чтобы определить свою структуру контента. У вас уже должен быть тип для страницы, и похоже, что вы захотите добавить тип для функции, биографии, листинга и поста в блоге. В зависимости от деталей, вам может понадобиться добавить несколько дополнительных полевых модулей, например, если у вас есть изображения, вам, вероятно, понадобится модуль imagefield.

После определения типов содержимого настройте pathauto и начните добавлять содержимое.

Как только у вас есть контент, вы захотите создать его списки с представлениями. Возможно, вы захотите начать с модуля simpleviews, так как интерфейс представлений может быть ошеломляющим. Сохраните ваши представления как отображение блоков, а затем используйте администратор блоков, чтобы поместить их в нужную область страницы, и настройте их так, чтобы они отображались только на нужных страницах.

С этого момента вы захотите начать контролировать то, как отдельные элементы (узлы) выглядят в разных контекстах. Вот когда вы начинаете их. Для этого я бы установил модуль devel, посмотрел, что делают другие темы, и вызвал dsm () для любых непонятных переменных, чтобы увидеть, как они выглядят.

Обычно вы можете получить быструю помощь по конкретным вопросам по каналам Drupal IRC .

0 голосов
/ 14 марта 2010

Самый простой способ сделать то, что вы хотите сделать, - это поместить свой пользовательский контент в блоки и настроить параметры доступа для блоков только на определенных страницах. Так, например, если у вас есть контент, который вы хотите отобразить в / spotlight или / node / 22 или около того, вы просто создадите пользовательский блок (Site Building -> Blocks), а затем в настройках установите для блока только показ для этого узла.

...