Umbraco多个站点,相同模板但不同的CSS文件

时间:2013-06-04 10:42:48

标签: razor xpath content-management-system umbraco

我在一个客户端的一个umbraco CMS中有多个站点。这些网站有许多共同的设计项目,但设计师必须制作一个共享的css文件,其中包含一些特定于每个网站的不同文件。

现在,我遇到了为网站页面选择相关css文件的问题。如果用户在站点X上查看page1,那么我必须使用css X,但如果用户在站点Y上查看page1,我必须使用css Y.

知道怎么做吗?我想过在模板中使用Razor并查看该域名的域名或主页doctype,还有更好的想法吗?

2 个答案:

答案 0 :(得分:2)

您可能需要查看microsite in umbraco的答案。它为如何在同一个Umbraco实例中设置不同网站的样式提供了很好的解释。它主要面向母版页,但它也应该应用剃刀视图。

答案 1 :(得分:0)

我建议使用剃须刀查找您所在的网站。您最有可能在您的根目录中有几个“站点”节点与托管主机名(我在这里猜测)。创建一个宏以包含样式表并使用命名约定,包括特定样式表和通用样式表。

<umbraco:Macro ID="Macro1" Alias="Stylesheets" runat="server" />

然后是宏:

var site = CurrentModel.AncestorOrSelf("Site");
<link rel="stylesheet" type="text/css" href="/css/generic.css" media="all" />
<link rel="stylesheet" type="text/css" href="/site/@site.Name.css" media="all" />

如果需要,您可以使用javascript文件执行相同的操作。