我在一个客户端的一个umbraco CMS中有多个站点。这些网站有许多共同的设计项目,但设计师必须制作一个共享的css文件,其中包含一些特定于每个网站的不同文件。
现在,我遇到了为网站页面选择相关css文件的问题。如果用户在站点X上查看page1,那么我必须使用css X,但如果用户在站点Y上查看page1,我必须使用css Y.
知道怎么做吗?我想过在模板中使用Razor并查看该域名的域名或主页doctype,还有更好的想法吗?
答案 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文件执行相同的操作。