Sitecore - несколько экземпляров подслоя на странице - PullRequest
2 голосов
/ 08 июля 2011

Мы создали несколько повторно используемых компонентов для нашего сайта и столкнулись с проблемой при попытке добавить более одного экземпляра этих компонентов на страницу. Это проблема, потому что Sitecore должен быть уникальным ключ-заполнитель. Означает ли это, что вы никогда не сможете добавить более одного экземпляра подслоя с заполнителем на одну и ту же страницу?

Пример:

Подстрока с двумя столбцами - заполнители 2column-col1 и 2column-col2 Подстрока с тремя столбцами - заполнители 3column-col1, 3column-col2 и 3column-col3 На странице добавьте подслой из двух столбцов, подслой из трех столбцов, а затем еще один подслой из двух столбцов Теперь есть 2 заполнителя с именем 2column-col1 и 2 заполнителя с именем 2column-col2

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

Кажется, это было бы обычным делом хотеть сделать. Есть ли обходной путь?

Ответы [ 3 ]

3 голосов
/ 09 июля 2011

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

Если вы используете sitecore 6.4+, вы можете даже использовать клонированные элементы для создания настроек заполнителя. Таким образом, вы сможете управлять разрешенными вложенными макетами из исходного элемента, а все остальные будут просто наследовать значения.

Надеюсь, это поможет.

2 голосов
/ 25 августа 2011

Я считаю, что это дубликат вашего поста SDN, но для справки я также свяжу свой пост в блоге (с кодом прототипа решения) здесь.

http://www.techphoria414.com/Blog/Dynamic%20Placeholder%20Keys%20Prototype.aspx

1 голос
/ 21 июля 2011

В Sitecore 6.3.1 есть настройка в web.config

  <!--  DUPLICATE PLACEHOLDERS
        Indicate whether to process duplicate placeholders
        Default value: false
  -->
  <setting name="Rendering.ProcessDuplicatePlaceholders" value="false" />

Я думаю, что этот параметр доступен во всех версиях Sitecore 6.

Вы должны попробовать и изменить его на "true".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...