0

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

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

知道怎么做吗?我考虑在模板中使用 Razor 并检查该域的域名或主页文档类型,有更好的想法吗?

4

2 回答 2

2

您可能想在 umbraco 中查看对微型网站的回答。它很好地解释了如何在同一个 Umbraco 实例中设置不同站点的样式。它主要面向母版页,但它也应该应用剃刀视图。

于 2013-06-05T12:51:15.150 回答
0

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

<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 文件执行相同的操作。

于 2013-06-07T18:46:06.830 回答