2017-05-31 5 views
0

私が作成した新しいコンポーネントの中にロゴコンポーネントを追加しようとしています。プロジェクトはeclipse aemプラグインを使用して作成されました。Adob​​e AEM |コンテンツフォルダにコンポーネントが作成されていません

My component, that inherits from a native component.

My content component

<!DOCTYPE html> 
<html> 
<head> 
    <sly data-sly-use.clientLib="/libs/granite/sightly/templates/clientlib.html" data-sly-call="${clientLib.css @ categories='paiva.all'}" data-sly-unwrap/> 
    <sly data-sly-include="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" data-sly-unwrap/> 
    <sly data-sly-include="/libs/wcm/core/components/init/init.jsp" data-sly-unwrap/> 
    <title>${currentPage.title || currentPage.name}</title> 
</head> 
<body> 
    <div class="page__logo" data-sly-resource="logo"></div> 
</body> 
</html> 

My template

My template details

A page using the template

The error

Looking at the content folder私のコンポーネントに追加したコンポーネントがpagina.htmlというコンテンツフォルダに存在しないことに気付きました。しかし、私がparsysにコンポーネントを追加すると、動作します。 コンポーネントを手動で追加すると機能します。

これは正常ですか?そうでない場合、私は何をすべきですか?

答えて

2

UIを使用してコンポーネントを追加すると、パラグラフシステム(parsys)に追加することを意味します。これが起こると、適切なリソースタイプの新しいリソースがparsysリソースの下に追加されます。

あなたのケースでは、不足しているリソースが静的に含まれています。スリングはレンダリングできません。

最適な解決策は、テンプレートのjcr:contentリソースの下に 'logo'リソースを追加することです。そうすれば、ページが最初に作成されるときにリソースがそこに存在します。

リソースのリソースタイプを含めると強制的にリソースタイプを指定し、次に合成リソースを挿入します。 (しかし私は最初のオプションを行うでしょう)

+0

ちょっと@santiagozky、あなたの答えに感謝します。実際、最初の選択肢は完全に意味があります。しかし、まだ動作しません:/。私はテンプレート内にロゴコンポーネントを追加し、さらに新しいページを作成しました。同じエラー。 –

+0

ちょっと@santiagozky、私は新しいテンプレートを作成しました。それは働いていましたが、テンプレートに新しいコンポーネントを追加するたびに新しいページを作成する必要があるようです。 –

+2

@italoPessoa、それは正しいです。テンプレートを更新するとページが更新されません! – santiagozky

関連する問題