2

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

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

我真的很感激任何帮助我前进的帮助。谢谢你。

4

1 回答 1

3

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

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

首先,查看入门指南的“样式化视图”部分

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

body#home-page {
  background: red;
}

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

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

首先,请参阅覆盖视图指南

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

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

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

body#home-page {
  background: red;
}

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

config.assets.precompile += %w(home.css)
于 2014-08-10T13:10:53.800 回答