Подтвердить что ты не робот

Создание сайта с помощью Orchard CMS

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

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

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

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

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

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

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

TIA, -Jeremy

4b9b3361

Ответ 1

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

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

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

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

На этом этапе вы уже можете просмотреть результат запроса, нажав Preview. Но то, что мы хотим, является интерфейсной страницей.

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

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

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

  • Отредактируйте запрос с именем "Все функции"
  • Добавить новый макет
  • Выберите Список Html
  • Выберите "Свойства" и "Сохранить"
  • Нажмите "Добавить свойства"
  • Выберите "Отображать текст", "Сохранить"
  • Сделайте то же самое для
    • Характеристика: Subtitle
    • Характеристика: Описание
    • Характеристика: Image
  • Сохранить запрос
  • Отредактируйте проекцию главной страницы и выберите этот макет вместо стандартного.

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

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

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

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

Ответ 2

Я сам пережил этот точный сценарий. Я думаю, что то, что вы хотите, может быть выполнено с помощью Orchard Lists. 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 для идей.

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

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

Ответ 3

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