0

Sitecore を初めて使用する私は、認証なし (匿名) の Sitecore Web アプリケーションを構築しています。これは、多くの階層的なトップ メニューとサイド メニューを備えた大規模なプロジェクトです。

ユーザーが Web サイトに再度アクセスすると、メニュー項目が強調表示された状態で最後にアクセスしたページを読み込む必要があります。これを提供するSitecore APIがあるかどうか、誰かが私を助けてくれませんか?そうでない場合、クライアントCookieに最後にアクセスしたページを保存するという理想的なソリューションは何でしょうか?

4

3 に答える 3

5

私が見ることができるオプションは、あなたが言ったように最後にアクセスしたページをクライアントCookieに保存し、カスタムプロセッサを組み込んでそれを

<httpRequestBegin>

web.configのパイプライン。

カスタムプロセッサはHttpRequestProcessorクラスから継承する必要があり、Processメソッドをオーバーライドする必要があります。

この場合に私が提案するのは、次のようなカスタムプロセッサを使用することです。

<processor type="Your.NameSpace.ClassName, Your.Assembly" />
<processor type="Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel" />

次のようなものがあります。

namespace Your.Namespace
{
    public class ClassName : HttpRequestProcessor
    {
        public override void Process(HttpRequestArgs args)
        {
            // Get cookie:
            var cookievalue = WebUtil.GetCookieValue("cookiename");
            WebUtil.Redirect(cookievalue);
        }
    }
}

もちろん、これは最後にアクセスしたページのURLをCookieに保存することをお勧めします。もちろん、最後にアクセスしたアイテムのIDをCookieに保存して、そこからパスを取得することもできます。

于 2013-02-27T10:52:56.497 に答える
1

この記事に出くわしました。ホルダーが言及しているように、DMS を有効にして使用している場合は、DMS から情報を取得できるはずです。

Sitecore DMS (OMS) プロファイルから最後にアクセスしたページを取得する

于 2013-02-28T18:50:27.637 に答える
0

私の知る限り、これを行うデフォルトのAPIには何もありません。

Sitecore OMSに何かがあるかもしれませんが、私はOMSについてあまり知りません。

クッキーは、これを行うための最も簡単で簡単な方法かもしれないと思います。

于 2013-02-27T10:39:45.250 に答える