2013-06-04 50 views
0

我有一个客户端在一个umbraco CMS内部的多个站点。这些网站有许多共同的设计项目,但设计师必须制作一个共享的css文件,其中包含针对每个网站的几个不同的文件。Umbraco多站点,相同的模板,但不同的CSS文件

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

任何想法该怎么做?我想过在模板中使用Razor,并检查该域的域名或主页文档类型,有没有更好的想法?

回答

1

你可能想检查这个答案microsite in umbraco。它给出了如何在同一个Umbraco实例中设置不同网站样式的相当好的解释。它主要面向主页面,但它也应该应用剃须刀视图。

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文件,如果你需要。

相关问题