Динамические поля в cq: диалог на основе страницы в aem 6.5 с использованием клиентских библиотек, специфичных для компонента

#aem-6

#aem-6

Вопрос:

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

Ответ №1:

Диалоги позволяют использовать свойство с именем extraClientLibs вы можете написать свою пользовательскую клиентскую библиотеку и добавить ее в свой диалог. Прослушайте dialog-ready событие ready и используйте эту логику для захвата и скрытия / отображения любых полей, которые вам нужны.

Комментарии:

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

2. Существует метод OOTB Granite.author.getPageInfoLocation() , который вернет вам путь к текущей странице.