2016-03-08 1 views
1

Я знаю, что я требую foundation/components/parbase как sling:resourceSuperType, а Parbase позволяет компонентам наследовать атрибуты от других компонентов.Что такое значение parbase как сд: resourceSuperType компонента

В качестве примера я удалил парбазу как resourceSuperType из foundation/components/image, и диалоговое окно не смогло нормально загрузиться, как видно в функциях Скриншот, Обрезать, Повернуть, Очистить больше не работает. enter image description here

Я подтвердил, что библиотека Ext Js загружается должным образом для xtype «html5SmartImage», Так что дополнительные вещи делает foundation/components/parbase обеспечивает эту функциональность?

ответ

4

Parbase позволяет компонентам наследовать атрибуты других компонентов.

Вышеприведенное заявление немного неверно, на мой взгляд. Это не позволяет вам наследовать атрибуты других компонентов. Скорее любой компонент, который определяет foundation/components/parbase как родительский, наследует скрипты парбазы.

Если вы посмотрите на компонент парбазы в AEM, вы найдете сервлет, который отображает изображение, когда URL содержит img селектор. Кроме того, вы также можете найти скрипт, который подходит для селектора scaffolding.

Таким образом, всякий раз, когда вы определяете parbase или любой другой компонент, наследующий от parbase как супер тип для вашего компонента, вы можете использовать функции рендеринга изображений без необходимости писать отдельную логику для того же самого.

Приходит к вашему образцу компонента изображения, html5smartimage делает запрос к ресурсу, используя суффикс запроса (.img.png), то есть когда ваш сервлет рендеринга изображений запускает и рисует изображение. Поскольку вы удалили парбазу из супер-типа, вы получили бы 404 для запроса, тем самым показывая пустую панель. Однако кнопки, отображаемые как отключенные, являются совсем другой проблемой. Это ошибка/функция в AEM, что, когда запрошенное изображение не найдено, дальнейшая обработка панели останавливается, что делает их отключенными.