如何生成uCommerce Sitemap XML

时间:2014-10-28 12:05:00

标签: sitecore umbraco sitemap umbraco-ucommerce

我正在尝试找到为uCommerce网站生成站点地图XML的最简单方法。我正在使用它与Sitecore,但我认为任何适用于Umbraco的解决方案也可以作为一个开始。

我的最后一招是抓取网站(或使用工具这样做),但我希望能够以编程方式触发它(我们的产品通过远程提要进行更新,因此我无法挂钩任何保存管道更新站点地图)并在每次更新产品时不用抓取网站。

我可以为Sitecore找到许多Sitemap生成器,但uCommerce产品位于主内容树之外,因此它们不包含站点地图中的uCommerce产品和类别。

有没有一种简单的方法来生成没有自定义代码/使用抓取工具的uCommerce网站地图?

1 个答案:

答案 0 :(得分:1)

正如Zachary在评论中提到的那样,您应该可以加入item:saveditem:saved:remote管道。

如果不是这种情况,您还可以考虑创建agent,您可以在web.config的scheduling节点中创建(或者在Include中为您的解决方案创建.config)文件夹是当然的最佳实践)。

您可以添加代理:

<agent type="Your.Agent" method="Run" interval="00:10:00">
    <param desc="yourparameter">parametervalue</param>
</agent>

这意味着你的Your.Agent类应该有一个方法Run,在这种情况下每隔10分钟调用一次 - 当然这取决于同一个frequency节点中的scheduling设置。好。频率定义了Sitecore需要检查代理是否需要运行的频率,interval定义了每次运行代理之间需要传递的时间。 More on Sitecore agents here。该链接还提到了计划任务,您也应该能够使用它们。这仅适用于您想要更新站点地图的定义时间段,而不是每次更新产品时(例如,它可以每小时运行一次) 然后,您还可以添加具有特定值的参数(即要包含在站点地图中的商店的位置或要排除的模板等)。

然后,您应该可以使用CatalogLibrary.GetNiceUrlForProduct(productToRender)

之类的内容挂钩到Sitemap.xml文件并将其附加到您的uCommerce产品和链接中