Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多站点解决方案中隐藏某些站点中的Sitecore页面_Sitecore_Sitecore8 - Fatal编程技术网

在多站点解决方案中隐藏某些站点中的Sitecore页面

在多站点解决方案中隐藏某些站点中的Sitecore页面,sitecore,sitecore8,Sitecore,Sitecore8,我们有多个站点在同一个Sitecore实例中运行。所有站点都有相同的起始项和项树,因为每个站点上的内容基本相同 有些页面应该出现在某些网站上,但不应该出现在其他网站上。我希望能够配置一个项目,使其仅存在于站点A中,如果用户试图在站点B上访问它,则会收到404错误。Sitecore是否有实现这一目标的内置方法 我目前的想法是在页面模板中添加一个属性“要显示的站点”,然后添加一个自定义管道处理器,该处理器检查当前页面的该值,然后返回页面或404错误 我目前的想法是在页面模板中添加一个属性“要显示的站

我们有多个站点在同一个Sitecore实例中运行。所有站点都有相同的起始项和项树,因为每个站点上的内容基本相同

有些页面应该出现在某些网站上,但不应该出现在其他网站上。我希望能够配置一个项目,使其仅存在于站点A中,如果用户试图在站点B上访问它,则会收到404错误。Sitecore是否有实现这一目标的内置方法

我目前的想法是在页面模板中添加一个属性“要显示的站点”,然后添加一个自定义管道处理器,该处理器检查当前页面的该值,然后返回页面或404错误

我目前的想法是在页面模板中添加一个属性“要显示的站点”,然后添加一个自定义管道处理器,该处理器检查当前页面的该值,然后返回页面或404错误

这实际上是你能提供的最好的方法! 只需向项模板添加一个多列表字段,以选择允许的站点,然后在站点配置中向站点定义添加一个自定义属性(例如siteId={id})

之后,您可以在site resolver中轻松比较这些值


请记住,您还应该覆盖链接管理器,以确保正确生成链接

没有现成的方法可以做到这一点,我也会采用您的方法,但这取决于您拥有的页面数量,您可能想反过来做-
不在站点上显示
为受限制的站点设置用户域怎么样,比如
每个站点都有自己的语言吗?这实际上是一个非常好的主意@MarekMusielak+1