понимание текущего местоположения текущих ресурсов

Я прохожу обучение для разработчиков Adobe CQ5 и пытаюсь понять расположение текущих ресурсов в компоненте. Например, при создании виджета для компонента изображения: введите здесь описание изображенияСвойства:< /strong> Свойства:

А потом со сложной составляющей:

введите здесь описание изображенияСвойства: Свойства:

Почему это? Я просто не вижу отношения к текущему ресурсу и файлу jsp для справки. Почему сложный компонент не может просто иметь ./value, а не ./image/value?


person knennigtri    schedule 14.01.2014    source источник


Ответы (1)


Основная причина заключается в том, что атрибуты связаны друг с другом, чтобы определить, как рисовать изображение, и есть другие части приложения, которые ожидают такого расположения. Когда автор настроит изображение, AEM создаст узел изображения под узлом jcr:content вашей страницы.

/content/mysite/mypage/jcr:content/image/<attributes>

Изображение, а также класс AbstractImageServlet ожидает появления определенных атрибутов на узле изображения.

Например, обратите внимание, что эти два URL-адреса отображают одно и то же изображение.

 1. http://localhost:4502/content/geometrixx/en/events/dsc.img.png
 2. http://localhost:4502/content/dam/geometrixx/banners/dsc.jpg

Первый URL указывает на узел cq:page и добавляет селектор img. Этот селектор вызывает сервлет, который извлекает информацию из первого узла image, который он находит в узле jcr:content страницы. Этот узел image имеет атрибут fileReference, указывающий на фактическое изображение DAM, которое является вторым URL-адресом. Затем сервлет отображает URL-адрес, указанный в атрибуте fileReference.

В вашем первом примере — компонент Logo — атрибуты относятся к компоненту. Если бы у вас был парсис на странице по пути par, то если бы вы добавили компонент логотипа на страницу, у вас был бы следующий путь под вашим узлом cq:page.

/content/mysite/mypage/jcr:content/par/logo/<attributes>

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

http://localhost:4502/content/mysite/mypage/jcr:content/par/logo.img.png

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

person jedatu    schedule 15.01.2014
comment
Это начинает обретать смысл. Мне нужно будет перечитать это несколько раз, но я начинаю видеть связь между созданием компонентов и тем, как это преобразуется в фактическую разработку сайта и в то, как настраиваются ссылки. - person knennigtri; 15.01.2014