コンポーネントの作成 create-the-components
コンポーネントを拡張する例では、コメントシステムを使用します。コメントシステムは、実際には 2 つのコンポーネントで構成されます
- コメント — ページ上に配置されるコンポーネントである包括的なコメントシステム
- コメント — 投稿されたコメントのインスタンスをキャプチャするコンポーネント
投稿されたコメントの外観をカスタマイズする場合は、特に両方のコンポーネントを配置する必要があります。
コメントコンポーネントの作成 create-the-comments-component
これらの方向は、 グループ 以外の値 .hidden そのため、コンポーネントをコンポーネントブラウザー(サイドキック)から使用できるようにします。
自動作成された JSP ファイルは、デフォルトの HBS ファイルが代わりに使用されるので、削除されます。
-
参照先 CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)
-
カスタムアプリケーションの場所を作成します。
-
を選択します。
/appsノード- フォルダーを作成 名前付き カスタム
-
を選択します。
/apps/customノード- フォルダーを作成 名前付き コンポーネント
-
-
を選択します。
/apps/custom/componentsノード-
作成/コンポーネント…
- ラベル: コメント
- タイトル: Alt コメント
- 説明: 代替のコメントスタイル
- スーパータイプ: social/commons/components/hbs/comments
- グループ: カスタム
-
選択 次へ
-
選択 次へ
-
選択 次へ
-
選択 OK
-
-
作成したノードを展開します。
/apps/custom/components/comments -
選択 すべて保存
-
右クリック
comments.jsp -
選択 削除
-
選択 すべて保存
子コメントコンポーネントの作成 create-the-child-comment-component
これらの方向は設定されました グループ から .hidden 親コンポーネントのみをページ内に含める必要があるので。
自動作成された JSP ファイルは、デフォルトの HBS ファイルが代わりに使用されるので、削除されます。
-
次に移動:
/apps/custom/components/commentsノード -
ノードを右クリックします。
-
選択 作成/コンポーネント…
- ラベル: コメント
- タイトル: 代替コメント
- 説明: 代替のコメントスタイル
- スーパータイプ: social/commons/components/hbs/comments/comment
- グループ:
*.hidden*
-
選択 次へ
-
選択 次へ
-
選択 次へ
-
選択 OK
-
-
作成したノードを展開します。
/apps/custom/components/comments/comment -
選択 すべて保存
-
右クリック
comment.jsp -
選択 削除
-
選択 すべて保存
デフォルトの HBS スクリプトをコピーして変更する copy-and-modify-the-default-hbs-scripts
使用 CRXDE Lite:
-
コピー
comments.hbs -
編集
comments.hbs移動先:-
値を
data-scf-component属性(20 行目以上):- 送信元
social/commons/components/hbs/comments - To
/apps/custom/components/comments
- 送信元
-
カスタムコメントコンポーネントを含めるように変更します(75 行目まで)。
- Replace
{{include this resourceType='social/commons/components/hbs/comments/comment'}} - を使用
{{include this resourceType='/apps/custom/components/comments/comment'}}
- Replace
-
-
コピー
comment.hbs -
編集
comment.hbs移動先:-
data-scf-component 属性の値を変更します(19 行目前後)。
- 送信元
social/commons/components/hbs/comments/comment - To
/apps/custom/components/comments/comment
- 送信元
-
-
選択
/apps/customノード -
選択 すべて保存
クライアントライブラリフォルダーの作成 create-a-client-library-folder
このクライアントライブラリを明示的に含める必要がないように、デフォルトのコメントシステムの clientlib の categories 値を使用できます ( cq.social.author.hbs.comments) が含まれている場合、この clientlib はデフォルトコンポーネントのすべてのインスタンスにも含まれます。
使用 CRXDE Lite:
-
選択
/apps/custom/components/commentsノード -
選択 ノードを作成
-
名前:
clientlibs -
型:
cq:ClientLibraryFolder -
追加先 プロパティ タブ:
- 名前
categoriesタイプString値cq.social.author.hbs.commentsMulti - 名前
dependenciesタイプString値cq.social.scfMulti
- 名前
-
-
選択 すべて保存
-
を使用
/apps/custom/components/comments/clientlib選択した s ノード、3 つのファイルを作成します。- 名前:
css.txt - 名前:
js.txt - 名前:customcommentsystem.js
- 名前:
-
次の内容を'customcommentsystem.js'と入力します。
js.txt -
選択 すべて保存
SCF モデルとビューの登録 register-the-scf-model-view
SCF コンポーネントを拡張(上書き)する場合、resourceType は異なります(オーバーレイは、検索を実行する相対検索メカニズムを利用します) /apps 前 /libs したがって、resourceType は同じままです )。 このため、カスタム resourceType の SCF JS モデルとビューを登録するために、(クライアントライブラリに)JavaScript を記述する必要があります。
次のテキストをコンテンツとして入力 customcommentsystem.js:
customcommentsystem.js customcommentsystem-js
(function($CQ, _, Backbone, SCF) {
"use strict";
var CustomComment = SCF.Components["social/commons/components/hbs/comments/comment"].Model;
var CustomCommentView = SCF.Components["social/commons/components/hbs/comments/comment"].View;
var CustomCommentSystem = SCF.Components["social/commons/components/hbs/comments"].Model;
var CustomCommentSystemView = SCF.Components["social/commons/components/hbs/comments"].View;
SCF.registerComponent('/apps/custom/components/comments/comment', CustomComment, CustomCommentView);
SCF.registerComponent('/apps/custom/components/comments', CustomCommentSystem, CustomCommentSystemView);
})($CQ, _, Backbone, SCF);
- 選択 すべて保存
アプリの公開 publish-the-app
パブリッシュ環境で拡張コンポーネントを使用するには、カスタムコンポーネントをレプリケートする必要があります。
その方法の 1 つは、
-
グローバルナビゲーションから
- 選択 ツール/導入/レプリケーション
Activate Treeを選択します。- 設定
Start Path:から/apps/custom - オフ
Only Modified - 選択
Activateボタン