【问题标题】:Orchard CMS - theming果园 CMS - 主题
【发布时间】:2011-07-26 20:51:09
【问题描述】:

我有一些关于主题 Orchard CMS 的问题。所以,让我们开始吧……我有一个网站,它有 5 个页面,其中一些页面有不同的布局。

其中的页面和区域:

主页 - 内容、TripelFirst、TripelSecond、TripelThird
概念和租赁页面 - 内容、AsideFirst、AsideSecond
新闻和服务部页面 - 内容、AsideFirst、AsideSecond(布局与前两页不同)

注意:尽管所有页面都有内容区域,但主页除外,没有任何页面使用它。其他页面只有位于其中一个区域的 HTML 小部件。

1) 我读过可以为特定 ID 创建布局,问题是我找不到该 ID 来为特定 ID 创建布局。

2) 如您所见,几个页面具有相同的布局,如何将它们分配给特定的布局?例如,如果我为 Concept 和 Rentals 页面创建布局,如何将特定布局分配给它们,以及如何将布局分配给 Press 和 服务部门 页面?

3) 如何在body中添加class标签?问题是 Orchard CMS 在其他所有内容之前创建正文,因此它不包含在布局 cshtml 文件中。

提前谢谢你!

【问题讨论】:

    标签: html css asp.net-mvc orchardcms theming


    【解决方案1】:
    1. 当您在后台编辑页面时,网址将类似于 http://localhost:30320/OrchardLocal/Admin/Contents/Edit/16

      16是这里的id。

    2. 您可以做几件事。最简单的就是使用这个模块:http://orchardproject.net/gallery/List/Modules/Orchard.Module.Downplay.Orchard.LayoutSelector

      或者,您可以根据任意标准以编程方式创建替代项:http://weblogs.asp.net/bleroy/archive/2010/12/14/switching-the-layout-in-orchard-cms.aspx

      最后,您通常可以通过使用层改变小部件的位置来避免创建实际的单独布局。

    3. body 标签在document.cshtml,您可以在自己的主题中覆盖它。

    【讨论】:

    • 非常感谢!明天我会试一试,但是由于您是 Orchard 开发人员之一,因此答案的质量是不成问题的。随着社区的发展,我可以为 Orchard 推荐一个专门的论坛。当我在主题方面获得一些经验时,我会写一个教程。
    • @Hrvach 嗯,我真的认为 stackoverflow 将是讨论果园的理想场所,codeplex 论坛不好玩,邮件列表很好,但将这样的支持电子邮件发送到人们的收件箱会很烦人.很高兴在 orchardproject.net 上有一个指向 SO 的小链接。
    • @giddy:信不信由你,两年多前,当该项目处于起步阶段时,我们联系了 Jeff 并询问他是否可以/应该这样做,他强烈劝阻我们不要正在做。简而言之,我希望我不要歪曲他,说他认为 SO 不适合用作任何产品的“官方”论坛。不过,如果您愿意,也可以在这里提问,我们会监控 orchardcms 标签以及 CodePlex 上的讨论。
    【解决方案2】:

    所以在这里帮助你

    1. 对于全新安装,主页的 ID 始终为 11,但我想您可以删除主页并创建一个新主页并为其提供另一个 ID。要查找其他页面的 ID,请打开数据库并查看内容项。

    2. 我知道除了通过 ID 之外没有其他方法可以应用布局,所以只需复制布局页面,因为页面很少。

    3. 我会使用一个小的 jQuery 脚本

      $(文档).ready(函数{ $('body').addClass('SomeClass'); });

    【讨论】:

      【解决方案3】:

      1. 不确定ID 是什么意思?如果您单击仪表板上的Widgets,那里有图层。图层是为特定事物激活的小部件的集合,就像经过身份验证的图层将显示您在用户通过身份验证时定义的那些小部件。

      在 (1) 和 (2) 上展开,您将能够通过向图层添加小部件来创建新布局。

      签出:
      Tagged Layer Rule - 允许您基于标签添加小部件。现在,您可以为 concepts 和 rentals 添加页面,然后为这些标签指定一个层,在该层中,您可以添加任何您喜欢的小部件。这些只会在遇到该标签时出现。

      另请查看:
      Content Type Layer Rule - 没有尝试过,但它属于同一行。

      3. 要自定义外观,有一个叫做 Shapes 的东西。我认为的每个区域都有一个对应的cshtml 文件。您甚至可以使用 ShaperBuilder 甚至在代码中渲染 html,同样,对此不太了解,但我可以告诉您,您需要查看这些文章。

      HTH,我会尝试联系一些在 SO 上的果园人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-23
        • 2011-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-25
        • 1970-01-01
        • 2013-03-26
        相关资源
        最近更新 更多