2011-09-29 100 views
4

目前我面临以下问题:Sitecore全球网址到特定网址

我必须为一家公司建立的网站有不同的位置。但几页的内容适用于所有位置。现在我已经创建了一个包含所有位置的项目的全局文件夹。但是现在我面临以下问题:从特定位置的网站访问全局项目时,我会得到全局网址。但我想要的是具体位置的URL仍然是相同的结构,例如:

  • 现在是www.url.com/global/subfolder/itemname
  • 而我要的是www.url。 com/location1/subfolder/itemname

有没有人对此问题有任何解决方案/建议?

有没有人也有创建一个菜单来插入这些全局项目,但也插入位置特定项目的解决方案?

我的Sitecore的内容结构

  • 全球一些更多的信息:包含了全部位置
  • 公司全球项目:公司
  • LOCATION1的企业网站:LOCATION1的网站
  • 位置2:位置2的网站
+0

当您说'不同位置'时,您的意思是不同的域名?或者可能是不同的子文件夹?你能举个例子吗? –

回答

1

亚当·韦伯是正确的,克隆是你最好的解决办法:

  1. 创建您的全局部分,你需要
  2. 对于每一个本地部分的所有子项,克隆全球并将其放置在您希望显示在您的本地菜单中的地方
1

如果我理解正确,这是我会做什么。它可能不是最漂亮的解决方案。但它会起作用。

您有/全球/子文件夹你的“数据”项/ ITEMNAME

然后就创建了一些模板,这是“虚拟”页,只包含对全球项目的链接(也许这几方面可能不同(或许联系电子邮件为specifik位置)。

然后你做一个sublayout是bascially仅仅指刚得到引用的项目,并使用该代替Sitecore.Context.Item。

然后创建的一个实例/ location1/subfolder/itemname中的“dummy”模板并将其引用到/ global/subfolder/itemname

这样你的URL将是正确的,并且数据将是相同的。

另一个也许更智能的解决方案(如果您启用了代理)是创建一个代理,它需要 /global/subfolder/itemname作为源代码并指向/ location1/subfolder /作为目标(或者可以采用/ global /子文件夹和检查“包括儿童”。

这里是如何使用5代理指南。3: http://sdn.sitecore.net/Articles/Administration/Using%20Proxy%20Items%20in%205,-d-,3.aspx

+0

我会去与代理项目。代理在v5.x中存在很多问题,但是在v6中他们的工作要好得多 –

+0

是的,这可能是简单的解决方案,不需要任何编码,只需对web.config进行一些更改即可。 – Holger

+2

代理可能是一种痛苦,并且不能很好地扩展。如果您正在运行6.4或更高版本,我会建议查看项目克隆。 –