【问题标题】:Overriding layouts in RefineryCMS在 RefineryCMS 中覆盖布局
【发布时间】:2014-10-03 09:15:28
【问题描述】:

我刚刚开始正常使用 ruby​​ on rails 一周,现在我开始使用 RefineryCMS,我按照官方指南创建了一个演示应用程序,并稍微了解了界面和 CMS 本身,现在我正在尝试使用 RefineryCMS 创建一个合适的站点。我想做的第一件事是更改默认主页的外观,因此我覆盖了它并添加了我自己拥有的 HTML,并替换了在某种程度上可以正常工作的默认布局。现在的问题是我有与我的 HTML 关联的样式表,因为我是这个 CMS 的新手,所以我找不到正确链接我的样式表/覆盖与主页关联的样式表的方法。我已经关注了官方文档,但无法理解如何覆盖样式表,我也关注了其他各种链接。

有人可以指导我看一个教程,其中有关于如何做到这一点的逐步解释,或者更好的是为像我这样的新手开始使用 RefineryCMS 的逐步详细教程,我花了几个小时但仍然找到了正确的方式,也许我没有寻找或搜索正确的问题,因为我是这个 CMS 的新手,即“如何正确地将我在 reineryCMS 中覆盖的 HTML 链接到其相应的样式表以及相应的图像和 javascript 文件”

我非常感谢任何帮助我前进的方式。谢谢你。

【问题讨论】:

    标签: html css ruby-on-rails refinerycms refinery


    【解决方案1】:

    感谢您使用炼油厂。有两种方法可以做到这一点,但实际上第一种是我的偏好。

    使用 CSS 选择器的简单且推荐的方法:

    首先,查看getting started guide's section on "styling views"

    现在,只需为主页创建一个资产文件,我们称之为app/assets/stylesheets/home.css.scss。为此,我们可以在以下 ID 选择器下添加嵌套样式。我添加了background: red;,以便您立即看到结果:

    body#home-page {
      background: red;
    }
    

    这是我建议为模板添加 CSS 的方式。

    对于不推荐的、需要额外资产并添加到预编译列表的复杂方式:

    首先,请参阅overriding views guide

    现在,使用您将拥有的refinery/pages/home.html.erb 模板,您可以链接到样式表:

    <% content_for :stylesheets, stylesheet_link_tag('home') %>
    

    样式表现在应该链接到页面的&lt;head&gt; 部分,您应该能够通过创建app/assets/stylesheets/home.css.scss 文件并以与第一个相同的方式应用它来添加与主页相关的CSS部分:

    body#home-page {
      background: red;
    }
    

    请注意,因为它与清单文件application.css 在同一目录中,所以它也会自动包含在所有模板中,因此这更复杂。它还需要你添加到config/application.rb的预编译列表中:

    config.assets.precompile += %w(home.css)
    

    【讨论】:

    • 如果我有一个完全不同的 html.erb 文件和根据它编写的 css 怎么办?即我已经生成了网站的 html 及其 CSS,我想要的只是将它们放在一起,因为它们在炼油厂中使用 rails
    • 非常感谢您,先生,这些信息确实帮助我开始,但正如上面评论中所述,在我的情况下,我应该采用第二种方法??如果是,那么它可能的缺点是什么?
    • 您可以愉快地使用第二种方法;如果您按照我的回答中所述直接使用它们,则只需将资产文件添加到预编译列表中
    • 哈桑:你过得怎么样?
    • 这是一个单独的问题,如果我的回答对您的第一个问题有帮助,您能否将其标记为已接受?如果您的客户希望能够在您的网页投入生产后更新其某些内容,那么您会想要使用 CMS。如果您打算对文本和图像进行所有更改,那么最好不要使用 CMS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多