Sitecore Analytics:从 Web 服务触发配置文件和事件

2023-11-21

我有一个问题Sitecore.Analytics

从我的 xslt 中,我使用 jQuery 对 Web 服务进行 ajax 调用。

在我的网络服务中,我需要注册/保存一些Sitecore.Analytics数据。 问题是我无法使用Sitecore.Analytics.AnalyticsTracker.Current.

那我该怎么办TriggerProfile and TriggerEvent? 我怀疑是否Sitecore.Analytics.AnalyticsManager可能有任何帮助。


我最近遇到了类似的场景,必须跟踪 Web 服务中的分析事件。正如你所指出的,问题是AnalyticsTracker.Current在 Web 服务上下文中为 null。

这样做的原因是AnalytisTracker.Current期间有人居住trackAnalytics管道,依次在renderLayout管道,仅当上下文项不为空并且上下文项定义了呈现设置时才调用该管道。

话虽如此,有一个解决方法:)

您可以启动AnalyticsTracker手动像这样:

if (!AnalyticsTracker.IsActive)
{
    AnalyticsTracker.StartTracking();
}

然后您可以检索AnalyticsTracker像这样的实例:

AnalyticsTracker tracker = AnalyticsTracker.Current;
if (tracker == null)
    return;

最后,您可以创建并触发您的事件、个人资料等...下面的示例触发PageEvent。注意:需要特别考虑PageEvent(以及最有可能的其他事件)以获得Timestamp财产已填充。请参阅下面代码中的注释。

if (!AnalyticsTracker.IsActive)
{
    AnalyticsTracker.StartTracking();
}

AnalyticsTracker tracker = AnalyticsTracker.Current;
if (tracker == null)
    return;

string data = HttpContext.Current.Request.UrlReferrer != null
                        ? HttpContext.Current.Request.UrlReferrer.PathAndQuery
                        : string.Empty;

//Need to set a context item in order for the AnalyticsPageEvent.Timestamp property to 
//be set. As a hack, just set the context item to a known item before declaring the event, 
//then set the context item to null afterwards.
Sitecore.Context.Item = Sitecore.Context.Database.GetItem("/sitecore");

AnalyticsPageEvent pageEvent = new AnalyticsPageEvent();
pageEvent.Name = "Download Registration Form Submitted";
pageEvent.Key = HttpContext.Current.Request.RawUrl;
pageEvent.Text = HttpContext.Current.Request.RawUrl;
pageEvent.Data = data;

//Set the AnalyticsPageEvent.Item property to null and the context item to null.
//This way the PageEvent isn't tied to the item you specified as the context item.
pageEvent.Item = null; 
Sitecore.Context.Item = null;

tracker.CurrentPage.TriggerEvent(pageEvent);
tracker.Submit();

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sitecore Analytics:从 Web 服务触发配置文件和事件 的相关文章

  • Sitecore 语言嵌入多个站点

    我希望在一个 Sitecore 安装中运行两个网站 第一个站点仅采用英国英语 因此我不会在文件路径中包含该语言 languageEmbedding never 第二个站点将采用多种语言 我需要在文件路径中包含该语言 languageEmbe
  • 如何找到具有特定属性的元素的子元素的祖先或自身?

    我正在使用一个非常通用的 XML 结构 其中一切都是一个项目 无论如何 一切都与这个问题相关 基于了解我当前所在的项目元素以及作为我正在查找的节点的父级的项目元素 我需要找到一个项目 我有一个可用的 xpath 但它相当消耗资源 我正在寻找
  • 如何在 Sitecore DMS 中触发配置文件?

    我正在寻找一种方法 允许访问者选择他们想要在网站上显示的内容 有没有办法以编程方式触发 Sitecore DMS 中的配置文件 我查看了SDN上的相关文档 http sdn sitecore net Reference Sitecore 6
  • 如何在 Sitecore 内容交付服务器上重建自定义 Lucene 索引?

    我的 Sitecore 6 2 Content Delivery 服务器上的自定义 Lucene 索引似乎不正确 所以我想我需要重建所有 3 个自定义索引 我怎么做 我是否只需使用共享源索引查看器模块 现在我已经将其安装在我的 CD 服务器
  • “ASP._Page_sitecore_shell_client_Speak_Layouts_Layouts_Speak_Layout_cshtml”不继承自“System.Web.WebPages.WebPage”

    当我们尝试在 sitecore 7 1 应用程序中浏览图像时 会出现以下错误 该错误已从 6 2 迁移到 7 1 类型 ASP Page sitecore shell client Speak Layouts Layouts Speak L
  • 如何在保存 Sitecore 项目时显示弹出窗口?

    保存 Sitecore 项目时 我尝试显示一个弹出窗口以与用户交互 根据他们更改的数据 我可能会显示一系列 1 或 2 个弹出窗口 询问他们是否要继续 我已经弄清楚如何利用 OnItemSaving 管道 这很简单 我不知道如何显示弹出窗口
  • Sitecore 与 LDAP - 以编程方式进行身份验证

    我正在 Sitecore 中创建一个应用程序 我只希望用户可以通过直接 URL 来使用它 我希望针对 LDAP 进行身份验证 我尝试直接进入应用程序并让它重定向到自动登录页面并将我重定向到应用程序 但它没有这样做 相反 它带我进入了 Sit
  • Sitecore - 将网址中的“”重写为“-”,但仍然允许破折号作为合法的项目名称

    我读过六本关于在 Sitecore 中将空间重写为更友好的内容的指南 但所有这些指南都依赖于 Sitecore
  • Sitecore + Lucene 搜索 FieldQuery 带空字符串

    我正在使用 FieldQuery 对象创建 Sitecore Ecommerce Search Query 然后 我使用 LuceneQueryBuilder 类将 Sitecore 查询转换为 Lucene Net Search Quer
  • 如何在 Sitecore 中将字段设置为“只读”?

    在我的 用户 模板中 我有一个 userid 字段 它是一个 单行文本 控件 我想将此字段设置为使用此模板创建的所有用户项目的 只读 我怎样才能做到这一点 打开安全编辑器 选择您想要授予只读访问权限的角色 确保您在安全编辑器中可以看到 字段
  • Sitecore 文件夹和 IIS 权限

    设置或移动 Sitecore 解决方案时 您必须记住设置正确的文件夹权限和 IIS 权限 它类似于此处的第 3 3 3 2 3 3 3 9 节 http sdn sitecore net Products Sitecore 20V5 Sit
  • 如何解决有关 Sitecore 培训网站的登录/数据库丢失错误?

    我在访问 Sitecore 培训网站时收到以下错误 应用程序中的服务器错误 无法打开登录请求的数据库 SiteCoreTrainingSitecore Core 登录失败 用户 sitecore 登录失败 描述 执行当前 Web 请求期间发
  • iPad 上的 YouTube 嵌入代码

    我正在努力通过添加 iPad 支持来改善网站的体验 这包括对视频的支持 我们的客户正在推动一种用于存储和提供视频的 YouTube 模型 这对我们来说太棒了 我原本计划使用 YouTube 新的 HTML5 支持来实现片段 这将设备检测任务
  • 营销人员的网络表单动态地形成字段条件可见性

    我们使用 WFFM 来创建登陆页面 我们的营销人员很容易使用它 现在 我们正在考虑定制它们 例如 我们有以下需求 在我们的表单上 我们显示居住国家 地区 但是当您选择某些国家 地区时 我们希望再显示一个名为的下拉菜单state provin
  • Sitecore Workbox,显示名称的项目字段?

    默认情况下 Sitecore 工作箱显示项目名称 我想显示 标题 字段 自定义字段 我怎样才能做到这一点 我有一个类似的要求 客户需要 Workbox 显示项目的 路径 而不是其名称 问题是他们的许多物品具有相同的名称 因此很难区分物品 不
  • 如何在 Facebook 应用程序中关闭“使用严格模式重定向 URI”

    有什么办法可以关闭该选项Use Strict Mode for Redirect URIs在 Facebook 应用程序中 自 2018 年 3 月起 此属性似乎已自动打开并呈灰色显示 因此无法禁用 Facebook 似乎不允许身份验证 除
  • 设置 __Renderings 字段未在 Sitecore 中共享后果?

    有没有人有设置的经验 RenderingsSitecore 中的字段不共享 我们正在构建一个多站点多语言解决方案 并且需要不同语言的 子 布局有所不同 例如 英语网站可能具有同一项目的瑞典语版本所没有的子布局 并且所有演示组件并不总是具有针
  • Sitecore - 隐藏功能区中的按钮

    我为特定内容项创建了上下文功能区 我有两个按钮 可以将项目 升级 或 降级 到某一类别 该部分只能有一个 是否可以根据某种隐藏代码中的内容状态隐藏其中一个按钮 我了解如何链接到 Click 事件 但我想知道是否有某种加载事件可供自定义功能区
  • Sitecore 以编程方式添加布局。值不能为空。参数名称 路径

    在我之前的问题中 我弄清楚了如何在 Sitecore 中以编程方式添加布局 当布局和子布局与标准值相同时 这可以正常工作 但是当这是不同的时候 我得到一个值不能不为空 参数名称 路径错误 我以编程方式添加布局 因为要求是在选中复选框时添加移
  • 在 ImageField 上设置 MediaItem

    现在mediaItem Src抛出一个过时的警告并声明使用 MediaItem 属性 这mediaItem MediaItem但没有二传手 这个警告真的只是为了让人们使用类似的东西 var image new Sitecore Data I

随机推荐

  • Python:模块和打包 - 为什么 __init__.py 文件不在 __main__.py 之前执行?

    我有一个 python 程序 它完全包含在具有以下结构的目录中 myprog init py main py moduleone py moduletwo py 我希望能够打包并分发它 以便其他开发人员可以做pip install e pa
  • 如何在 blogdown 中的网页选项卡上添加图标

    如何向 blogdown 网站添加网站图标 我正在使用minimal主题 我尝试在 config toml 中添加该行favicon imgPath我还尝试将 favicon ico 移动到静态文件夹 但都没有成功 如果您有一个名为favi
  • C++20 概念的用例有哪些?

    我在回顾 C 20 功能时发现了 Concepts 我发现他们为模板参数添加了验证 但除此之外我不明白 C 20 概念的真实用例是什么 C 已经有了类似的东西std is integral他们可以很好地执行验证 我确信我错过了有关 C 20
  • 解析文本文件中的键值对

    我是 Python 新手 我搜索如何解析 txt 文件 我的 txt 文件是一个包含计算信息的名单 例如 我的文件 txt 变量0 16变量1 1 12434E10var2 1 923E 3变量3 920 如何读取值并将其放入myvar0
  • 普通使用Solr时出现“锁获取超时”如何解决?

    我的 Solr 系统有两个核心 Solr 版本 3 6 1 当我在专用 Solr 服务器上调用以下命令行来添加文件并为其建立索引时 java Durl http solrprod 8080 solr original update jar
  • 如何使用 VM 和 PyCharm 配置自定义 PYTHONPATH?

    我正在使用 IntelliJ 和 Python 插件远程口译员功能与我的 Vagrant VM 进行通信 它正确设置远程解释器以使用我的虚拟机的解释器 但是 我在虚拟机中使用自定义 PYTHONPATH 我希望 IntelliJ 能够识别该
  • 如何使 div 动态更改内容宽度并使其在浏览器窗口更改大小时保持该宽度?

    看看这个 场景1 container height 150px border 1px solid pink width 1100px widget display inline block width 100px height 100px
  • IntelliJ gradle 项目错误“不支持的类文件主要版本 61”

    大家好 我在构建我的 gradle 项目时遇到此错误 尝试了此处在线找到的所有内容如何修复 IntelliJ IDEA 中的 不支持的类文件主要版本 60 checked java version and also gradle versi
  • C# SQL 数据适配器 System.Data.StrongTypingException

    我使用 Fill 将数据从 SQL 获取到数据集 它只是一张包含两列的表 CategoryId int 和 CategoryName varchar 当我在填充方法后查看数据集时 CategoryId Columns 似乎是正确的 但在 C
  • 将函数序列应用于值序列

    我想将函数列表成对应用于值列表 下面举一个例子来说明 user gt defn a f x f x user a user gt map a inc dec 98 8 99 7 请注意 我必须定义一个函数 a 它接受一个函数并将其应用于一个
  • php 标头位置与 php_redirect

    功能有什么区别 HTTP redirect and header location 在 PHP 中 我什么时候必须使用该功能 HTTP redirect 我什么时候必须使用该功能 header location 看那个 https php
  • 访问mdb密码恢复

    我花了很多时间寻找 mdb Access 数据库结构的定义 但没有找到任何有关密码恢复的信息 我知道Access 2000 mdb文件有类似页面的东西 每个页面4kB 每个页面都有一个类型 第一页是一个 数据库定义页面 包含 可能 加密的数
  • 检测 URL 更改(无需窗口卸载)

    我想向 URL 更改之前 事件添加一个侦听器 以访问旧 URL window onbeforeunload如果页面不重新加载 AJAX 驱动的页面 则不会触发 例如 当您单击右侧导航栏中的另一个视频时 YouTube 视频页面上就会发生这种
  • 确定 iframe 中的元素在屏幕上是否可见

    我需要确定 iframe 中的元素在屏幕上是否可见 如果它位于屏幕的可见部分 我的意思是页面可能很长 用户必须滚动才能看到该元素 索引 html iframe html div div
  • gdb 在启动过程中程序退出,代码为 127

    想在 Linux Debian 中使用 gdb 作为调试器 尝试运行二进制文件我得到这个 gdb r Starting program usr local sbin test bin bash usr local sbin test No
  • 使用 CMake GUI 设置交叉编译器文件

    我正在尝试使用 CMake 设置交叉编译构建 到目前为止 我正在设置交叉编译器文件 从命令行调用 CMake 如下所示 Call cmake with the given options cmake D CMAKE TOOLCHAIN FI
  • 看似相同的字符串无法比较

    我在比较两个字符串时遇到一个奇怪的问题 这是我的代码 console log x y console log x y console log typeof x console log typeof y 在控制台中 我有 false 1 4
  • 使用 OpenSSL 生成素数

    如何使用 openssl 生成一个大的随机素数 我找到了如何生成随机数并检查它是否是素数 但我无法自动执行检查素数的过程 这是我正在使用的命令 openssl rand hex 256 xargs openssl prime hex 我应该
  • EditTextCell FieldUpdater 宽度

    编辑字段时如何设置文本框的宽度 EditTextCell febCell new EditTextCell Column
  • Sitecore Analytics:从 Web 服务触发配置文件和事件

    我有一个问题Sitecore Analytics 从我的 xslt 中 我使用 jQuery 对 Web 服务进行 ajax 调用 在我的网络服务中 我需要注册 保存一些Sitecore Analytics数据 问题是我无法使用Siteco