我有多个网站驻留在一个客户的一个umbraco CMS。这些网站有许多共同的设计项目,但设计师必须制作一个共享的css文件,其中有几个不同的特定于每个网站。
现在,我在为站点页面选择相关的css文件时遇到了一个问题。如果用户在站点X上查看page1,那么我必须使用css,但是如果用户在站点Y上查看page1,我必须使用css。
你知道怎么做吗?我想过在模板中使用Razor,并检查域名或该域名的主页文档类型,还有更好的想法吗?
发布于 2013-06-05 20:51:15
您可能希望检查microsite in umbraco的此答案。它很好地解释了如何在同一个Umbraco实例中设置不同站点的样式。它主要是面向母版页的,但它也应该应用剃刀视图。
发布于 2013-06-08 02:46:07
我推荐使用剃刀来找出你所在的网站。您很可能在根目录中有几个带有托管主机名的"site“节点(我猜是在这里)。创建一个宏以包含您的样式表,并使用命名约定,包括特定和通用样式表。
<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文件执行相同的操作。
https://stackoverflow.com/questions/16915763
复制相似问题