2016-08-11 14 views
1

私はテーブルコンポーネントを持っており、各セルにparsys(テキスト、画像などをドロップできるようにする)が必要です。そのparsysには、既定値として独自のテキストコンポーネント(社内)が含まれている必要があります。私は結果なしで次のことを試してみた見た目でAEM6 - プログラム内のparsys内にコンポーネントを追加する

specification 1として

<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ダイアログで設定できます。ステークホルダーは、時間編集を節約するために、すべてのセルのテキスト・コンポーネントをパース内に収めたいと考えています。 -Vlad:テーブルレンダリングとparsysは存在しますが、parsys内のテキストコンポーネントは存在しません。 – fapm84

答えて

2

実際の行/列の制限に応じて、私はcq:templateノードのアプローチか、あらかじめ定義されたコンポーネントを含む機能を含むparsysの拡張を選択します。 OOTBパースには、テンプレート(ページテンプレートまたはコンポーネント固有のテンプレートのいずれか)によってあらかじめ定義されたもののみが含まれます。

cq:テンプレートノードのアプローチは、必要な構造を含むコンポーネント定義の下にノードを追加します。これにより、各セルのテキストコンポーネント(またはその他のもの)を事前定義することができます。しかし、これには行と列に限られた制限が必要です。コンポーネントがサイドキックを介して追加されている場合(そして私もtouchUIは100%確信していると信じています)、このノードの構造全体をコンポーネントの場所にコピーします。あなたのケースでは、すべての単一の行/列がコピーされ、実際に必要とするよりも多くのノードがレポ内に(ほとんどの場合)生成されることになります。限界がかなり低い限り、この方法は問題ありません。この 'テーブル'コンポーネントを別のコンポーネントの内部に直接組み込む場合、この方法は機能しません。

第2のアプローチでは、parsysコンポーネントを拡張して、よりスマートにして 'デフォルト'のアイテムを提供する必要があります。これはより柔軟性がありますが、Adobeがそのコンポーネントに対して行った変更/拡張を扱う主題もあります。

0

を、data-sly-includeは、スクリプトで使用する必要があります。

+0

申し訳ありませんが、私の悪い、良いスポット。私はコードを間違って配置しました。私の修正された質問をしてください。ありがとう! – fapm84

関連する問題