Я разрабатываю сайт с днем CQ5. Я разрабатываю шаблоны, компоненты и страницы и сталкиваюсь с проблемой. На странице сайта может быть один экземпляр компонента и необходимо предотвратить добавление других экземпляров. Как я могу это сделать? Может, кто-то столкнулся с этой проблемой?Требовать не более одного экземпляра компонента на странице
ответ
Если авторы не нуждаются в возможности добавления компонента в разные области (контейнеры parsys) страницы, вы можете просто включить его в статическое местоположение. Затем авторы могли либо заполнить компонент, либо оставить его пустым, чтобы скрыть его. Тогда вы оставите это от приятеля, чтобы они не могли добавить дополнительные копии.
Это всего лишь подсказка, но это может решить вашу проблему: http://dev.day.com/content/kb/home/cq5/Development/Components/HowToDefineComponentListDynamically.html.
Спасибо за ссылку, но, как я понимаю, в ней говорится, что список доступных компонентов обрабатывается на стороне клиента. Возможно стоит попробовать написать слушателя для parsis. Он проверяет наличие компонента на странице, и если такой компонент уже существует, скрипт предотвратит добавление. Хотя я и не представляю, как это должно работать :( –
На самом деле печально, что этот случай не обрабатывается с помощью стандартных инструментов CMS. –
Если я правильно понял вас, вы должны предложить компонент, содержащийся непосредственно на используемой странице шаблон? –
При таком подходе теряется гибкость. Компонент будет привязан к конкретному месту на странице, и я не могу ничего добавить там. –
Да, это уменьшает гибкость (но похоже, что это то, что вы вы можете разрешить другим компонентам в том же разделе, что и ваш статический компонент, разместив компоненты parsys выше и/или ниже компонента, который вы пытаетесь ограничить. – crispydc