0

現在のプロジェクトで Sitecore ダイレクト アクセス API を使用しています。Web コンテキストではなく、Sitecore を呼び出すスタンドアロン アセンブリが必要な場合があります。Web サイトにコードをデプロイせずに Sitecore コンテキストにアクセスする方法はありますか?

もちろん、たくさんの構成設定があります。これまでのところ、Web コンテキストを偽装して必要な設定を提供しようとする私の試みは失敗に終わっています。グローバル オブジェクトをロードするために実行する必要のある特定の一連の手順についてのドキュメントはありますか? また、Sitecore のリクエスト処理/パイプライン処理によって通常行われるすべてのことを行いますか?

4

1 に答える 1

2

Web サービス ルートをたどりたくない場合は、このブログ投稿で、Sitecore 情報にアクセスするためのクラス ライブラリ プロジェクトの設定について説明しています。今回はNUnitのテスト用ですが、手法は同じだと思います。

要約すると、Sitecore の web.config 情報を (他の構成ファイルと共に) app.config ファイルに複製し、関連する Sitecore アセンブリを参照し、いくつかの構成を調整して App_Config フォルダーへの参照を修正する必要があります。

この手法を使用する場合、Sitecore.Context.Itemnull になるため、パスまたは Id などを介してアイテムに直接アクセスする必要があることに注意してください。

var db = Sitecore.Configuration.Factory.GetDatabase("master");

var homeItem = db.GetItem("/sitecore/content/home");
//or
var homeItem = db.GetItem(new Sitecore.Data.ID("<your GUID here>"));
于 2013-07-18T15:42:57.737 に答える