我想在浏览页面时调用LayoutResolver自定义管道 为此我创建了一个自定义管道并配置如下
<httpRequestBegin>
<processor patch:after="*[@type='Sitecore.Pipelines.HttpRequest.LayoutResolver, Sitecore.Kernel']"
type="Agents.Common.PipeLines.LayoutResolver, Agents.Common" />
</httpRequestBegin>
但它不是在浏览页面时工作,但是当我点击任何一个甚至来自sitecore时它正在工作。
如何按时浏览页面。
答案 0 :(得分:1)
根据您提供的修补程序语法,您似乎已将LayoutResolver配置为在现有LayoutResolver之后运行。
您打算替换现有的解析器吗?或者在它之前运行你的逻辑?
要进行替换,您需要使用patch:instead
。要在现有解析程序之前运行,您需要使用patch:before
答案 1 :(得分:1)
无论您的处理器配置如何,HTTP请求开始管道都会针对大多数(如果不是全部)Sitecore请求执行 - 即使是shell请求,我认为这是您在问题中提到的。
最简单的方法是验证上下文站点是website
(或您想要影响哪个Sitecore站点)以及可能区分您想要的任何其他内容(例如页面模式)。< / p>