N2 CMS - добавление фрагмента текста вверху каждой страницы
Я использую N2 CMS и хочу знать, как я могу создать редактируемый элемент, который может быть включен в заголовок каждой страницы сайта.
Я просто хочу иметь возможность редактировать этот фрагмент текста в одном месте и иметь текст на каждой странице.
Я понимаю, что мне нужно создать "Часть", но я не уверен, как создать интерфейс редактирования для этой "части"
Благодарю.
3 ответа
Поздний ответ, но ЭТО может помочь другим. Вы можете использовать его следующим образом.
@{ Html.DroppableZone(Content.Traverse.StartPage, "EDITABLEPART").Render(); }
Более простой подход (к частям) может заключаться в следующем:
- добавьте свойство на свою домашнюю страницу ContentItem, которое украшено EditableTextBox или EditableFreeTextBox.
- отредактируйте домашнюю страницу, чтобы установить текст
- затем в макете / главной странице вы можете просто включить вывод из этого свойства
Мы используем эту технику для хранения кода отслеживания Google Analytics на главной странице, а затем он отображается на каждой странице.
Похоже, вам нужна рекурсивная зона. Вот пример: https://github.com/jamestharpe/HereSay/blob/master/src/HereSay/Decorators/SectionalZoneDecorator.cs
Используя этот код, все, что вам нужно сделать, это назвать свою зону, начиная с "Sectional" (например, "SectionalTopZone"), а плагин позаботится обо всем остальном.
Для примера редактируемой части вы можете взглянуть на код здесь: https://github.com/jamestharpe/HereSay/blob/master/src/HereSay/Parts/HtmlContentBlock.cs