Редактор страниц Sitecore Публикация элементов, связанных с контентом
У меня есть "Страница продукта", страница продукта соответствует элементу SiteCore "ProductPage". Сайт / Страницы /ProductPage.
У меня есть текстовая область на этой странице с редактором страниц, который загружает текст из "Текст примера продукта" из текста "Описание" элемента Sitecore из веб-базы данных. (Sitecore.../CommonText/ Пример продукта)
В моем файле ascx разметка довольно прямая,
<sc:FieldRenderer ID="FieldRenderer1" runat="server" />
Codebehind,
FieldRenderer1.Item = //"Product Example Text" Sitecore item
FieldRenderer1.FieldName = "Description";
Когда я открываю страницу в редакторе страниц (как системный администратор), она позволяет мне изменить "Текст примера продукта", а когда я сохраняю с помощью кнопки "Сохранить" в редакторе страниц, она сохраняется в основной базе данных. Элемент "Текст примера продукта" будет сохранен. Теперь, когда я пытаюсь опубликовать элемент, используя элемент "Опубликовать" на ленте редактора страниц, эти изменения не отражаются, причина в том, что элемент "Текст примера продукта" не публикуется.
Когда я сохраняю страницу, каким-то образом Sitecore понимает, что элемент "Текст примера продукта" необходимо сохранить. Но почему это не публикуется? Я делаю что-то не так... Как я могу решить эту проблему?
2 ответа
Сохраняя элемент в редакторе страниц, Sitecore сохраняет все средства визуализации полей, которые отображаются на странице, поэтому, если вы установите Item
свойство FieldRenderer1
в "Product Example Test" Sitecore Item
, Page Editor
знать, какой элемент должен быть сохранен.
Проблема с публикацией заключается в том, что вы помещаете текущий элемент в очередь публикации, но этот элемент не имеет ссылки на "Product Example Test" Sitecore Item
в любом из его свойств, потому что вы устанавливаете Item
свойство рендера поля динамически в коде.
Можно добавить еще одну кнопку Page Editor
рядом с Edit Related Item
кнопку и создайте команду, которая будет Publish Related Item
, Полное описание того, как добавить такую команду, можно найти в ответе редактора страниц Sitecore - как расширить панель редактирования элементов редактора страниц.
Другой подход заключается в создании элемента содержимого "Тест примера продукта" в разделе "ProductPage" в качестве вложенного элемента. В опциях публикации вы можете использовать опцию публикации подпунктов, которая будет публиковать весь контент, который вы хотите. Но проблема в том, что если вы хотите, чтобы определенный контент был доступен в нескольких местах, это не сработает. Ответ Мараса - лучшее решение.