2016-09-14 8 views
0

ウェブサイトには、Home、Product1、Product2の各ページがあり、ホームページにはバナーがあります。Sitecoreパーソナライゼーション - 前のページ

ユーザーの旅行が-ホーム>製品1>ホームの場合、バナーにimage1が表示されます。

ユーザーの旅行が - の場合、ホーム>製品2>ホームの場合、バナーにimage2が表示されます。

ユーザーが - ホーム>製品2>製品1>ホームを訪問すると、バナーにimage1が表示されます。

..これは、最後に訪問したページに基づいて画像を表示する前に、のホームです。

ルールセットエディタで、私は3つのルールを設定します:
1.訪問中の特定のページが "product1"の場合、イメージはimage1になります。
2.訪問中の特定のページが「product2」の場合、イメージはimage2になります。
3.デフォルト - 非表示のバナー

これは必要に応じて機能しません。ユーザーがproduct1を最初に訪問した場合、常にバナーのimage1が表示されます。ルール1は常にここで真実になるため、ルールに従って動作していると私は理解しています。

しかし、私が必要とするものをどのように達成することができますか?

+0

ルール#1と#2の順序を切り替えることができます。その後、image2はimage1よりも優先されます。これで十分ではない場合は、カスタムルールを作成する必要があります。 –

答えて

4

カスタム条件を作成する必要があります。その部分を行う方法については、lotsofblogpostsがありますので、私はそれに焦点を当てません。

あなたの状態が続いてあなたの状態では、あなたが(それはspecific page言う)IDを渡しますwhere previous page is specific page

のようなものである可能性があります。あなたは、その後の状態でこのような何かを行うことができます。

var pagesVisited = Sitecore.Analytics.Tracker.Current.Interaction.GetPages().ToList(); 
return pagesVisited.Last().Item.Id == Guid.Parse(id); // id is the item you've selected in the Rule Editor 

(私は、コードをテストしていないことに注意してください、それはこのようになります。また、上の性能試験のビットを実行したい場合があります。それはもちろんです)。

+0

方法はありますか?コーディングなしでこれを達成することができます – Qwerty

+0

いいえ、私はあなたができるとは思わない、システムで利用可能なルールを見てください。 – Trayek

関連する問題