2016-08-11 5 views
1

У меня есть компонент таблицы, и каждая ячейка должна иметь parsys (чтобы авторы могли отбрасывать текст, изображения и т. Д.). Этот parsys должен иметь встроенный текстовый компонент (внутренний) внутри него по умолчанию.AEM6 - добавление компонента внутри parsys программно

В красивый Я попытался следующие без результатов:

<sly data-sly-resource="${'table-col-header-{0}' @ format=[column], resourceType='/libs/wcm/foundation/components/parsys'}"> 
    <sly data-sly-resource="${'table-col-header-text-{0}' @ format=[column], resourceType='/apps/componentlibrary/components/content/text'"/> 
</sly> 
+0

Насколько жестко закодирована эта таблица? Можно ли настроить количество столбцов и строк? Действительно ли это должно быть в каждой ячейке или только в этом столбце заголовка? – 3xil3

+0

Делает ли ваш код что-нибудь? Существуют ли дочерние ресурсы 'table-col -...'? – Vlad

+0

Привет, ребята, спасибо, что вернулись. -3xil3: Да, столбцы и строки настраиваются в диалоговом окне Touch UI. Заинтересованные стороны хотят иметь текстовый компонент внутри parsys для каждой ячейки, чтобы сэкономить время на редактирование. -Vlad: Отображаются таблицы и parsys, но не текстовый компонент внутри parsys. – fapm84

ответ

2

В зависимости от фактических пределов в терминах строк/столбцов я бы либо выбрал подход cq: шаблонный узел, либо расширение parsys, которое включало бы функциональность для включения предварительно определенных компонентов. Партии OOTB включают только то, что заранее определено шаблонами (либо шаблоны страниц, либо специальные шаблоны)

Подход узла шаблона cq: состоит из добавления узла под определением компонента, который содержит структуру, которую он должен иметь. Это позволит вам заранее определить текстовый компонент (или другой материал) для каждой ячейки. Но для ваших строк и столбцов потребуются конечные ограничения. Если компонент добавлен через sidekick (и я считаю, что touchUI также, но не на 100% уверен), он копирует всю структуру этого узла в ваше местоположение компонента. Что в вашем случае означало бы, что каждая отдельная строка/столбец будет скопирована и приведет к большему количеству узлов в репо, чем вам действительно нужно (большую часть времени). Этот подход был бы прекрасен, пока пределы были довольно низкими. Имейте в виду, что этот подход не работает, если вы включите этот компонент таблицы непосредственно в другой компонент.

Второй подход требует, чтобы вы расширили компонент parsys, чтобы сделать его «умнее» и предоставить элементы по умолчанию. Это более гибко, но также подвержено изменениям/улучшениям, которые Adobe делает для этого компонента.

0

Согласно specification, data-sly-include следует использовать с помощью сценария.

+0

Извини, мой плохой, и хорошенький пятнистый. Я потерял код. Пожалуйста, мой измененный вопрос. Благодаря! – fapm84

Смежные вопросы