2012-04-04 3 views
1

Я разрабатываю сайт с днем ​​CQ5. Я разрабатываю шаблоны, компоненты и страницы и сталкиваюсь с проблемой. На странице сайта может быть один экземпляр компонента и необходимо предотвратить добавление других экземпляров. Как я могу это сделать? Может, кто-то столкнулся с этой проблемой?Требовать не более одного экземпляра компонента на странице

ответ

1

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

+0

Если я правильно понял вас, вы должны предложить компонент, содержащийся непосредственно на используемой странице шаблон? –

+0

При таком подходе теряется гибкость. Компонент будет привязан к конкретному месту на странице, и я не могу ничего добавить там. –

+0

Да, это уменьшает гибкость (но похоже, что это то, что вы вы можете разрешить другим компонентам в том же разделе, что и ваш статический компонент, разместив компоненты parsys выше и/или ниже компонента, который вы пытаетесь ограничить. – crispydc

0

Это всего лишь подсказка, но это может решить вашу проблему: http://dev.day.com/content/kb/home/cq5/Development/Components/HowToDefineComponentListDynamically.html.

+0

Спасибо за ссылку, но, как я понимаю, в ней говорится, что список доступных компонентов обрабатывается на стороне клиента. Возможно стоит попробовать написать слушателя для parsis. Он проверяет наличие компонента на странице, и если такой компонент уже существует, скрипт предотвратит добавление. Хотя я и не представляю, как это должно работать :( –

+0

На самом деле печально, что этот случай не обрабатывается с помощью стандартных инструментов CMS. –