parsys は実際にはスタイルを挿入しませんが、parsys コンポーネントのデザイン パラメーターを変更すると、それらはデザイン ページに保存され、これが Design クラスによって css としてレンダリングされ、出力にそれらの更新が含まれます。
デザイン CSS のレンダリング方法
/etc/designs/my-design
お気づきのように、設計情報は に保存されます。このページのこのコンポーネントは、含まれている情報の CSS 表現をサポートしています。
製品に含まれている CQ 開発ツールを使用して、レンディションのソースを追跡できます...
crx/de または crx/explorer で設計ページを見ると、sling:resourceType がwcm/core/components/designer
.
これは、次の Java クラスによってレンダリングされます/libs/wcm/core/components/designer/designer.css.java
。このファイルは crx/de でも確認できます。そのファイルのライセンスでここにスニペットを投稿できるかどうかはわかりませんが、自分で簡単に見つけることができるはずです。
このクラスはページ リソースを受け取り、オブジェクトをcom.day.cq.wcm.api.designer.Design
インスタンスに適合させます。
Web コンソールの依存関係ファインダーを見ると、Design クラスは cq-wcm-api バンドルによって提供されます。
<dependency>
<groupId>com.day.cq.wcm</groupId>
<artifactId>cq-wcm-api</artifactId>
<version>5.5.0</version>
<scope>provided</scope>
</dependency>
/libs/wcm/core/install/cq-wcm-api-5.5.0.jar
これは、CQ にバンドルされている jar: によって提供されます。
デザイン CSS のカスタマイズ
あなたが達成しようとしていることを見ると...
デザインページのコンテンツをカスタマイズできます(これは通常、作業しているコンポーネントにデザインダイアログを追加することによって行われます)そのコンポーネントに関連付けられたプロパティ/ css属性を追加します。
この例として、geometrixx デザイン内のロゴ コンポーネントを見てください ( /etc/designs/geometrixx/jcr:content/contentpage/logo
)。これにはすでに次のようdiv img.margin
に変換されるプロパティがあります
.contentpage div.logo img {
margin: 1px;
}
出力 css ( /etc/designs/geometrixx.css?cacheKiller=xyz
) で。
div img.border
の値を持つ名前のプロパティをこのノードに追加すると、 5px solid red
css が次のように出力されます。
.contentpage div.logo img {
margin: 1px;
border: 5px solid red;
}
あなたの例を考えると、デザイン コンテンツ ノードは/etc/designs/my-design
次のようになります。
+jcr:content
+ page_full
+ par
+ section
- div .margin = 30px
または、リポジトリ XML 形式では、次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="cq:Page">
<jcr:content
cq:lastModified="{Date}2013-01-13T17:22:51.339+01:00"
cq:lastModifiedBy="admin"
cq:template="/libs/wcm/core/templates/designpage"
jcr:primaryType="cq:PageContent"
jcr:title="design"
sling:resourceType="wcm/core/components/designer">
<page_full jcr:primaryType="nt:unstructured">
<par jcr:primaryType="nt:unstructured">
<section
jcr:primaryType="nt:unstructured"
div_x0020_.margin="30px"/>
</par>
</page_full>
</jcr:content>
</jcr:root>
デザイン ダイアログ (デザイン コンテンツをカスタマイズするために使用する必要があります) については、コンポーネントの開発ページである程度説明されています。上記のロゴ コンポーネントのデザイン ダイアログ (例) は、次の URL にあります。/libs/foundation/components/logo/design_dialog.html