在我的网站上,我有以下结构:
- 产品类型
- 产品类别
- 产品
假设我有一个具有以下特征的产品:
产品XYZ - TypeLink:“type-xyz” - CategoryLink:“category-xyz” - 链接:“product-xyz” ...
该网址将用于产品: / produto / type-xyz / product-xyz#category-xyz
请注意,该类别只不过是Url中的哈希!
遵循路线的定义
http://mysticpaste.com/private/kXhF9FFLbw/
注意:路线运转良好!我上市只是为了更好地理解
使用以下命令显示站点地图:
razor
@Html.MvcSiteMap().SiteMapPath()
产品类型:http://mysticpaste.com/private/yzOR1d0kr9/
产品类别:http://mysticpaste.com/private/YzWvrYOt6J/
产品:http://mysticpaste.com/private/eDbfxmWAXU/
http://mysticpaste.com/private/2PztbFuDIs/
如果您需要站点地图的完整代码:http://mysticpaste.com/private/JPKOg1a6g9/
http://mysticpaste.com/private/8WpRGvc7Cq/
我的问题是站点地图没有正确显示标题和链接! 该网站发布在此链接中。 http://datafilme.bindsolution.com/ 例如,您可以打开产品页面“Website da Datafilme”
http://datafilme.bindsolution.com/Produto/software/website-da-datafilme
如您所见,链接是正确的! 但站点地图显示来自其他产品的数据!
答案 0 :(得分:0)
产品类型(ProdutoTipoDynamicNodeProvider
)需要在创建的动态节点上设置密钥属性。
产品类别(ProdutoCategoriaDynamicNodeProvider
)也需要设置密钥属性,但还必须将parentKey属性设置为产品类型节点的密钥。
产品(ProdutoDynamicNodeProvider
)必须将parentKey属性设置为类别节点的键,但是没有必要设置键,因为当没有子节点时,动态生成的键是可以的。
在您的站点上,使用键和父键的层次结构可以(在productos节点下面):
Scanner de documento (key = "scanner")
Conexões de Rede (key = "conexoes", parentKey = "scanners")
Authoritatively-Disintermediate (parentKey = "conexoes")
Super-scanner (parentKey = "conexoes")
Scanner XYZ (parentKey = "conexoes")
Equipamentos de microfilmagem (key = "microfilmagem")
Software (key = "software")
Digitalizacao (key = "digitalizacao", parentKey = "software")
Website da Datafilme (parentKey = "digitalizacao")