2016-05-09 3 views
1

Итак, у меня есть вид макета в Sitecore Mvc, в этом представлении содержится рендеринг контроллера, который тянет верхнюю и нижнюю колонтитулы. Пример:Как сделать статически привязанную рендеринг, редактируемую через редактор опыта (Sitecore MVC)

@Html.Sitecore().Rendering("/sitecore/layout/renderings/some_rendering") 

Это указывает на рендеринг контроллера, который я определил в Sitecore. Это отлично работает, за исключением случаев, когда я нахожусь в редакторе опыта. Это не дает мне возможность выбрать этот рендеринг. Если я создам Placeholder и затем буду определять эти элементы навигации на этом заполнителе динамически через Sitecore, тогда я могу, но эти навигационные элементы существуют на каждой странице этого макета, поэтому я бы хотел, чтобы они были статически размещены вместо использования Placeholder, но я бы все равно, что пользователь может выбрать элемент навигации в редакторе опыта (чтобы я мог создавать пользовательскую команду для взаимодействия с этой навигацией, например, создание новых ссылок и т. д.).

Есть ли у кого-нибудь идеи, которые помогут мне достичь этого?

ответ

0

Вы можете попытаться использовать представления GlassMapper и статически наследовать вид из GlassView. Тогда вы сможете использовать Редактируемый метод для визуализации поля.

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

Вместо того чтобы вводить рендеринг через метод рендеринга, вы должны иметь возможность использовать стандартный MVC RenderPartial.

Я использовал этот подход в одном из проектов, над которыми я был, и это сработало.

1

Используйте Edit Frame для этого и создайте Custom Edit Frame Button для операций, таких как добавление нового элемента в навигацию.

И не забудьте передать ID Datarsource или путь в качестве второго параметра для Html.Sitecore().Rendering() метода:

@Html.Sitecore().Rendering("/sitecore/layout/renderings/some_rendering", new { DataSource = "{some-id-or-path}" }) 

Вот набор сообщений в блоге, которые могут помочь вам понять, как Edit Frames работа и как добавить их в Sitecore MVC решение:

  1. https://visionsincode.wordpress.com/2015/01/08/how-to-use-editframe-in-sitecore-mvc/
  2. https://www.cmsbestpractices.com/how-to-properly-use-sitecore-edit-frames/
  3. https://briancaos.wordpress.com/2011/11/28/using-sitecore-editframe-in-pageedit/

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