Adobe CQ5.5 カスタム コンポーネントの開発に取り組んでいます。私が直面している問題は、複数のドラッグおよびドラッグ イメージをダイアログ ボックスに追加して、jcr コンテンツにマップすることです。
2 に答える
1 つのコンポーネント ダイアログに 2 つの画像タブを表示しようとしているようです。これを行う最も簡単な方法は、CRXDE lite を使用して、イメージ ノードを /libs/foundation/components/page/dialog/items/tabs/items/image からダイアログにコピーすることです。
ただし、落とし穴があります。1 つのコンポーネント ダイアログに 2 つの画像を配置しようとすると、ダイアログが画像の 1 つを正しく表示しないことに気付くでしょう (おそらく、「画像」という名前が付いていないものは何でも)。デフォルトの画像に加えてページのサムネイル画像を追加すると、この問題が発生しました。
この不正行為には 2 つの理由があります。まず、2 番目のイメージの requestSuffix プロパティは、最初のイメージとは異なる必要があります。問題を解決するにはこれで十分だと思うかもしれませんが、そうあるべきですが、何らかの理由で CQ は (これらの特定の) 画像コンテンツ ノードで sling:resourceType プロパティを作成しないため、リクエストは依然として適切に解決されません。ダイアログで。「image」という名前のノードの場合は正しく推論されているように見えますが、それ以外の場合はそうではありません。これは、このプロパティを手動で追加する必要があることを意味します。
sling:resourceType=foundation/components/image
2 番目のイメージのコンテンツ ノードに。ここでも、画像ダイアログ プロパティの requestSuffix プロパティの値を別の値に変更する必要があります (例: 「/thumbnail.img.png」)。サムネイルの先頭のスラッシュも必要です。(デフォルト値は「.img.png」です。デフォルトの画像コンポーネントは特別な扱いを受けるように見えるため、これは明らかな修正ではありません)
次のコードを使用して画像コンポーネント (/libs/foundation/components/image) のdialog.xmlを拡張し、編集ダイアログに 2 番目の画像を適切に表示します。
<image
jcr:primaryType="cq:Widget"
cropParameter="./imageCrop"
ddGroups="[media]"
fileNameParameter="./fileName"
fileReferenceParameter="./fileReference"
mapParameter="./imageMap"
name="./file"
requestSuffix=".img.png"
rotateParameter="./imageRotate"
title="Thumbnail"
xtype="html5smartimage"/>
<thumb
jcr:primaryType="cq:Widget"
cropParameter="./thumbImageCrop"
ddGroups="[media]"
fileNameParameter="./thumbFileName"
fileReferenceParameter="./thumbFileReference"
mapParameter="./thumbImageMap"
name="./thumb"
requestSuffix="/thumb.img.png"
rotateParameter="./thumbImageRotate"
title="Image"
xtype="html5smartimage"/>