は右コーナーで5つの最も人気のあるページを表示することで取得します。私はサイトコア6.5要件の</p> <p>つを使用してウェブサイトを開発していますページ数
これは、分析レポートがページ数に使用した関数を使用すると思います。
私はもしそうなら解析のAPI Sitecore.Analytics
を使用することによって、そうすることが可能であるかどうかを知りたいのですが、私は完全に失われていますようにそれを行うにはいくつかのコードスニペットを持つことができます。
は右コーナーで5つの最も人気のあるページを表示することで取得します。私はサイトコア6.5要件の</p> <p>つを使用してウェブサイトを開発していますページ数
これは、分析レポートがページ数に使用した関数を使用すると思います。
私はもしそうなら解析のAPI Sitecore.Analytics
を使用することによって、そうすることが可能であるかどうかを知りたいのですが、私は完全に失われていますようにそれを行うにはいくつかのコードスニペットを持つことができます。
は、ここでは、DMSでそれを行うことができます方法は次のとおりです。
private const string CommandText = "\r\nSELECT \r\ncount(distinct {0}VisitId{1})\r\n FROM {0}Pages{1}\r\n WHERE {0}ItemId{1} = {2}YourItemId{3}";
public static int GetPageViews(ID pageId)
{
return DataAdapterManager.Provider.Sql.ReadOne<int>(CommandText, ReadPageViews, new object[] { "YourItemId", pageId.ToString() });
}
private static int ReadPageViews(DataProviderReader reader)
{
return DataAdapterManager.Provider.Sql.GetInt(0, reader);
}
OMS(ではなく、 DMS)で最も多く閲覧されたページを得るために書かれたブログ投稿 "Sitecore OMS data querying – Most viewed pages"をご覧ください。これは、少なくともあなたに出発点を与えることができますが、更新されたAPIと一致するようにコードを調整する必要があります。
はい。それは素晴らしいトピックですが、6.5で私は分析データベースでセッションテーブルを見つけることができません.. – william
私はこれが既に回答されて知っているが、なぜ照会する直接PageDataTableを使用していませんか?私はこのようなものを作った:
public static Dictionary<Item, int> GetVisitsCountForItem(Item item)
{
Sitecore.Analytics.Data.DataAccess.DataSets.VisitorDataSet.PagesDataTable pagesDataTable = new VisitorDataSet.PagesDataTable();
var pageViews = pagesDataTable.Select(p => p.ItemId == item.ID.Guid);
var dic = new Dictionary<Item, int>();
dic.Add(item, pageViews.Count());
return dic;
}
+1非SQL APIメソッド –
コードありがとうございます..それは現在のページ数を取得するために動作します。カウントを高くしてすべてのアイテムを低くするために、そのコードを変更する必要があるため、参照を持つことはできますか? – william