Как добавить кнопку панели инструментов пользовательских активов в AEM - base.jsp Наложение не работает - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь добавить настраиваемую кнопку на панель инструментов AEM Assets, чтобы запустить настраиваемый рабочий процесс вместо рабочего процесса удаления по умолчанию, который мне удалось скрыть программным способом.

Я создал наложение / libs/dam/gui/coral/components/admin/contentrenderer/base/base.jsp to /apps/dam/gui/coral/components/admin/contentrenderer/base/base.jsp.Добавление моих изменений в оверлей base.jsp не вносит никаких изменений, однако, когда я добавлю такое же изменение в файл libs base.jsp, появится моя кнопка.

Я не получаю сообщений об ошибках с этим, только то, что моя пользовательская кнопка не появляется, когда я добавляю ее в файл оверлея.

Есть ли известная проблема с / libs / dam/gui/coral/components/admin/contentrenderer/base/base.jsp overlay?

Как правильно наложить /libs/dam/gui/coral/components/admin/contentrenderer/base/base.jsp и действительно внести изменения?

1 Ответ

0 голосов
/ 26 июня 2019

AEM генерирует большинство меню, панелей инструментов, столбцов и диалогов из структур содержимого.Таким образом, его можно легко настроить:

  • до скрыть что-то для определенной группы пользователей, просто отмените доступ на чтение для соответствующего узла содержимого
  • до добавьте что-то, создайте дополнительный узел с тем же родительским путем чуть ниже /apps вместо /libs (оверлей)

Для DAM он находится под /libs/dam/gui/content/assets/jcr:content/actions/selection (панель инструментов действия, если вы выбираете актив в списке активов плотины)

enter image description here

Простым примером будет Блокировка (один актив) , который определен в checkedoutenabled.Он определяет действие панели инструментов, и важно, чтобы свойство granite:class было в атрибуте класса сгенерированной HTML-кнопки.

Тогда в /libs/dam/gui/coral/components/admin/clientlibs/admin/js/drivelock.js есть обычный обработчик события для созданной кнопки - в addButtonListener(...).Это немного сложнее, так как функция обычно обрабатывает несколько действий (блокировка, разблокировка, ...).Но я уверен, что вы узнаете, как создавать свои собственные действия.

Файл JS является частью клиентской библиотеки с категорией dam.gui.admin.coral.Все клиентские библиотеки с этой категорией загружаются пользовательским интерфейсом DAM.Так что просто создайте свою собственную клиентскую библиотеку под /apps/ с вашим собственным кодом обработчика событий.

С уважением, Алекс

...