2016-09-08 10 views
0

OSGIサービスを使用せずにCRXコンテンツを取得する方法はありますか? javascriptフレームワーク、たとえばangle JSなどを使用してページ名とそのプロパティを読み取る必要があるウェブサイトのトップナビゲーションを実装するためのユースケースを探しています。OSGIを使用せずにCRXコンテンツを取得する方法はありますか?

+0

ここではTopNavがコンポーネントになります。目に見えるものを使用している場合は、use-apiが役立ちます。そのJSPではカスタムタグがロジックを実行できます。 –

+0

おかげさまでVivek、しかし私はJavaコールとCRXコンテンツを取得するための純粋なAngular JS接続なしで達成することができるソリューションを探しています。 – VAr

+0

javaを避けている場合は、javascriptのuse-apiが役立ちます。 –

答えて

1

JSONまたはXMLとして取得し、拡張XMLまたはJSONを使用してpathにサーバー呼び出しを行うことができます。 JSONを使用すると、深さに基づいたセレクタがXMLと同じかどうかわからないツリー階層に移動することができます。 /my/page/path.xmlまたは/my/page/path.<depth>.jsonの場合は、リクエストURIからホスト名とポートの詳細を取得して、データコールの完全なURLを作成できます。

0

スリングによって提供される次のJSON APIを使用して、ページ名とそのプロパティを取得するタスクを実行することをお勧めします。

まず、特定のパスのすべてのページをクロールするには、.pages.jsonセレクタを使用する必要があります。例えば、コンテンツ/会社/ en_USの/のすべての子ページを取得するJSONは、上記GET呼び出しによって返されたパスごとに

HTTP GET <Host>/content/company/en_US.pages.json 

次にGETを実行するには、ページ

の_jcr_content.jsonを取得する必要があり

(EG)

HTTP GET <Host>/content/company/en_US/home/_jcr_content.json 

上記JSONコールがあなたに、この特定のページのすべてのページのプロパティを提供する必要があります。

注:上記の方法は一般的であり、Sling/AEMでホストされているJCRパスに適用できます。また、通常、JCRクロールを防止する可能性のあるセキュリティルールにより、パブリッシャ環境でこのレベルのJCRアクセスを取得することはできません。これが役立つことを願っています

関連する問題