拯救包括另一个规则文件?

时间:2013-03-04 10:08:14

标签: include plone deliverance

我们目前有一个网站服务器,其中设置了许多子域名,这些子域名都以<match>语句为主题。

例如:1.abc.com,2.abc.com等。

deliverance.xml文件(规则文件)具有以下规则:

<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
  <!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
  <!-- rules for 2.abc.com -->
</rules>

由于这些子域的性质,每个子域之间的视觉差异很小(徽标可能会改变,或者页脚的颜色等等 - 没什么大的)

因此,我必须为1.abc.com提供与2.abc.com相同的规则(更换样式,插入内容等)。

因此,我的规则文件很快变得庞大而且重复的规则虽然有效,但却相当混乱且不必要地重复。

我似乎记得找到某处,一些文档解释了我如何对Deliverance“包含此规则文件”说。我的意思是我可以为大部分规则编写规则文件,并为每个子域名页脚编写单独的文件。徽标更改,这样的事情(仅作为示例,我不确定实际的命令):

You can find the deliverance documentation here,但我可以找到有关包含声明的任何内容。

<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
  <include href="[PATH TO GENERIC RULES FILE]"/>
  <!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
  <include href="[PATH TO GENERIC RULES FILE]"/>
  <!-- rules for 2.abc.com -->
</rules>

这样我就可以得到更整洁的规则文件而且重复次数很少。

有没有人有任何想法?我必须强调,虽然这有标签Plone但这个问题是关于 Deliverance NOT Diazo! - 因为Diazo还有一些命令而不是Deliverance。

修改

我也尝试过这个命令:<xi:include href="generic-deliverance.xml" />

所以确认我的规则如下:

<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
  <xi:include href="generic-deliverance.xml" /> 
  <!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
  <xi:include href="generic-deliverance.xml" /> 
  <!-- rules for 2.abc.com -->
</rules>

然而,这会打破Deliverance,当我浏览到我得到的任何子域时:

Server Error
An error occurred. See the error logs for more information. 
(Turn debug on to display exception reports here) 

我还将此作为我的规则声明:

<rules xmlns:xi="http://www.w3.org/2001/XInclude" 
 xmlns="http://www.plone.org/deliverance"> 

然而,这也打破了Deliverance。

欢迎任何想法!

0 个答案:

没有答案