我正在实施默认的 Sitecore-uCommerce SEO 友好 URL 机制,但遇到了问题。
我查看了 uCommerce 的 ItemResolver 处理器,但我仍然不明白 uCommerce 如何设置 Sitecore 上下文项。似乎它为 Sitecore.Context.Item 使用了 uCommerce 项目的 Guid。不知何故,情况并非如此,但我没有看到真正的 Sitecore 项目被设置为上下文项目。并且 uCommerce 项目上没有布局细节。还是我错了?
private ID FindSitecoreIdForProduct(int productId)
{
IRepository<Product> repository = ObjectFactory.Instance.Resolve<IRepository<Product>>();
Product product = repository.Get(productId);
if (product != null)
{
return new ID(product.Guid);
}
return ID.Null;
}
然后它使
ID iD = this.FindSitecoreIdForProduct(productId);
if (iD == ID.Null)
{
return;
}
Context.Item = Context.Database.GetItem(iD);
我希望它是一个带有显示产品详细信息的渲染的特定 Sitecore 项目。URL 属于类型
http://sitename.com/productdetailpage/productname/c-25/p-125
如果您能解释一下 uCommerce 如何获取真正的 Sitecore 项目并将其设置为 Context.Item,我想这对我来说就足够了。