1

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

我最后的手段是爬取网站(或使用工具来这样做),但我希望能够以编程方式触发它(我们的产品由远程提要更新,因此我无法连接到任何保存管道来更新站点地图),并且每次更新产品时都无需抓取网站。

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

有没有一种简单的方法可以在没有自定义代码/使用爬虫的情况下生成 uCommerce 站点地图?

4

1 回答 1

1

正如 Zachary 在评论中提到的那样,您应该能够连接到item:savedoritem:saved:remote管道。

如果不是这种情况,您还可以考虑创建一个agent,您可以在schedulingweb.config 的节点中创建它(或者在 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 需要多久检查一次代理是否需要运行,间隔定义了每次代理运行之间需要经过多少时间。有关 Sitecore 代理的更多信息,请点击此处。该链接还提到了计划任务,您也应该能够使用它们。这仅适用于您想要更新站点地图的定义时间段,而不是每次更新产品时(例如,它可以每小时运行一次)
然后,您还可以添加具有特定值的参数(即您要包含在站点地图中的商店的位置或要排除的模板等)。

然后,您应该能够连接到 Sitemap.xml 文件并将其附加到您的 uCommerce 产品和链接中,使用类似的东西CatalogLibrary.GetNiceUrlForProduct(productToRender)

于 2014-10-30T09:38:10.513 回答