Создание сайта с Orchard CMS - PullRequest
21 голосов
/ 11 марта 2012

Я нахожусь на ранних стадиях попыток освоить Орчард, и мне все еще кажется, что я борюсь с основами того, как создать страницу, содержащую множество различного контента, которым могут легко управлять нетехнические пользователи. .

В идеале я пытаюсь сделать следующее: я просто не могу понять, как вписать его в архитектуру Orchard, используя типы содержимого, части, поля, виджеты, зоны и т. Д. Кроме того, поскольку я Я все еще учусь, я также стараюсь избегать любых пользовательских модулей или жесткого кодирования контента на сайте (хотя я открыт для идеи, если это лучший способ сделать это!).

Цель: создать макет «домашней страницы», содержащий меню, слайд-шоу изображений и несколько описаний функций. Для каждого изображения в слайд-шоу мне нужны заголовок, подзаголовок, описание и изображение. Чтобы облегчить управление для нетехнических пользователей, я хотел бы определить шаблон HTML (пользовательский тип контента, деталь или что-то еще) и позволить авторам указывать только эти четко определенные свойства. Я попытался использовать Части контента для этого, но, к сожалению, у меня может быть только одна Часть контента определенного типа на части Контента. Я также видел рекомендации по созданию нескольких частей контента с одинаковым набором свойств, но я не знаю, сколько изображений будет отображаться (и я не хочу назначать произвольное число).

Мне нужно сделать нечто подобное для описания функций, чтобы авторы могли указать изображение, заголовок, описание и страницу для ссылки. Я столкнулся с той же проблемой, что и выше, я не уверен, как разрешить авторам указывать конечный список контента, но чтобы каждый элемент контента был четко определен.

Пока что лучшим вариантом представляется создание какого-то пользовательского виджета для «размещения» контента, но по какой-то причине моя интуиция говорит мне, что создание пользовательского слоя для одной страницы просто указывает, какой контент отображать злоупотребляет назначением слоев, которые начинают настраивать конкретный макет на основе некоторых критериев (например, аутентифицирован ли пользователь).

Я надеюсь, что это имело смысл, и я извиняюсь, что потребовалось так много слов, чтобы объяснить мою проблему, я только что достиг своего пика разочарования, и хотя я думаю, что ребята из Орчарда определенно поняли это с точки зрения архитектура, я просто не могу преодолеть эти, казалось бы, простые проблемы, чтобы создать простой веб-сайт.

Я очень ценю любые советы, предложения и советы, которые может предложить это сообщество!

TIA-Джереми

Ответы [ 3 ]

32 голосов
/ 12 марта 2012

То, что вы определили в терминах Orchard, является типом контента с именем Feature.

  • Перейдите в «Содержимое» -> «Тип содержимого» и нажмите «Создать».
  • Выберите эти части по умолчанию:
    • Заголовок, потому что вы хотите, чтобы ваши авторы предоставили хороший заголовок / название для функций
    • Autoroute, который создаст дружественный для SEO URL на основе заголовка (можно настроить)
    • Нажмите Сохранить
  • Добавить определенные поля
    • SubTitle типа TextField. Настройте его по умолчанию, обязательно.
    • Описание типа TextField. Настройте его на TextArea, обязательно.
    • Изображение типа Media Picker. Настройте его на Обязательный.
  • Вы можете добавить несколько подсказок к каждому полю, которые будут отображаться в редакторе функций, чтобы описать, что вводить в каждое поле. Очень полезно для авторов.

Теперь вы можете создавать объекты, нажав на ссылку в верхней левой части панели инструментов. Следующим шагом является размещение этих функций на главной странице. Я предлагаю создать проекцию, которая будет использоваться в качестве домашней страницы. Проекция - это просто страница с URL-адресом, которая будет отображать результат запроса в качестве его содержимого. В вашем случае запрос будет «Дайте мне все функции, упорядоченные по дате создания».

  • На панели инструментов нажмите Запросы
  • Нажмите «Создать новый запрос»
  • Введите "Все функции"
  • Нажмите «Добавить новый фильтр»
  • Выберите тип содержимого, затем выберите функцию, сохранить
  • Нажмите «Добавить критерий сортировки»
  • Выберите «Дата создания», затем «По убыванию», «Сохранить»

К этому моменту вы уже можете просмотреть результат запроса, нажав кнопку «Просмотр». Но то, что мы хотим, - это передняя страница.

Создайте новую Проекцию, щелкнув Проекция в разделе «Новый» панели инструментов (снова слева вверху) - Дайте ему название, и не забудьте отметить «Сделать домашней страницей», чтобы сделать его домашней страницей. - Выберите единственный доступный запрос с именем «Все функции» - Сохранить

На главной странице вы должны увидеть все функции, упорядоченные по дате. Но то, что вы хотите, это слайдер. На этом этапе вам нужно еще два шага: - Интеграция слайдера в плагин jQuery - Сделать HTML-код совместимым с вашим плагином jQuery

По умолчанию при рендеринге проекции будет использоваться стандартный макет «Сводка». Но с помощью проекций вы можете решить, какой именно макет вы хотите применить, и какие именно HTML-теги и классы.

  • Редактировать запрос с именем «Все функции»
  • Добавить новый макет
  • Выбрать список HTML
  • Выберите «Свойства» и сохраните
  • Нажмите Добавить свойства
  • Выберите Показать текст, Сохранить
  • Сделайте то же самое для
    • Характеристика: Subtitle
    • Характеристика: Описание
    • Характеристика: Изображение
  • Сохранить ваш запрос
  • Отредактируйте проекцию домашней страницы и выберите этот конкретный макет вместо стандартного.

Вы увидите, что каждое свойство отображается в html-контейнере.

Отредактировав каждое свойство, вы можете решить, какой класс применять и какой HTML-тег использовать. Изменяя их, вы можете отображать именно то, что вы хотите, и настраивать свой CSS / HTML, чтобы красиво отображать слайдер. Это ваш HTML-код, который вы должны применить здесь, или найти статьи об этом.

Для ваших редакторов, они просто должны перейти на панель инструментов и добавить / обновить некоторые элементы содержимого, это будет отражено на веб-сайте.

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

1 голос
/ 21 августа 2012

Я бы также порекомендовал этот замечательный модуль под названием Slider Featured Item . Он имеет все основные функции слайд-шоу, в том числе все, что упоминается в вопросе, а также некоторые фантастические дополнительные возможности, такие как различные анимации. Вы также можете точно настроить макет и стиль, предоставив дополнительные CSS. Получите источник здесь . И здесь - слайд-шоу в действии. Если модуль уже существует, предоставляя нужную вам функциональность, то лучше использовать его, а не изобретать велосипед, если только вы не делаете это для целей обучения.

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

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

Во-первых, убедитесь, что вы используете Orchard 1.4, потому что выВам понадобится встроенная поддержка для генерации альтернатив для контейнерных виджетов для каждой зоны.Включите модули Shape tracing, Url alternates и Widget alternates.

Теперь создайте список элементов, как описано в документации (см. http://docs.orchardproject.net/Documentation/Creating-lists). Переведите «просмотр книги» в «слайд»).и «рецензии на книги» в «слайды», и вы получите идею. Вы можете добавить настраиваемые поля для представления ваших субтитров, описания и т. д. Я бы просто оставил изображение как часть самого контента, а не создавал для него настраиваемое поле..

Если вы выполнили шаги, описанные в документации, вы должны увидеть список ваших слайдов, отображаемых как ul/li. Теперь вам нужно настроить порядок визуализации, чтобы вы моглипокажите свои настраиваемые поля и обычно настраивайте теги. Используйте трассировщик фигур и создайте альтернативы для списка, как вам будет удобно. Теперь вы можете свободно контролировать весь рендеринг. См. http://weblogs.asp.net/bleroy/archive/2011/03/27/taking-over-list-rendering-in-orchard.aspx и http://weblogs.asp.net/bleroy/archive/2011/05/23/orchard-list-customization-first-item-template.aspxдля идей.

Управлять этим списком с точки зрения вашего конечного пользователя на самом деле довольно просто, но я не очень чувствую, что он очень интуитивен.

Мне потребовалось три дня на копаниеЧерез блоги и документы, чтобы понять это для себя.

...