Переопределение макетов в RefineryCMS

Я только что начал работать с ruby ​​на рельсах, как в течение недели, и теперь я начал работать над RefineryCMS, я следовал официальному руководству и создал демонстрационное приложение и немного познакомился с интерфейсом и самой CMS, теперь я пытаясь создать правильный сайт с помощью RefineryCMS. Первое, что я хотел сделать, это изменить внешний вид домашней страницы по умолчанию, поэтому я переопределил ее, добавил свой собственный HTML-код и заменил макет по умолчанию, который в некоторой степени работал нормально. Теперь проблема в том, что у меня есть таблица стилей, связанная с моим HTML, поскольку я новичок в этой CMS, я не могу найти способ правильно связать мои таблицы стилей / переопределить мои таблицы стилей, связанные с домашней страницей. Я ознакомился с официальной документацией, но не смог понять, как переопределить таблицы стилей, я также перешел по другим ссылкам.

Может кто-нибудь подскажет мне учебник, в котором есть пошаговое объяснение того, как это сделать, или, что еще лучше, пошаговое подробное руководство для начинающих, таких как я, чтобы начать работать с RefineryCMS, я потратил часы, но все же нашел правильный путь, может быть, я не искал или не гуглял правильный вопрос, потому что я новичок в этой CMS, т.е. "Как правильно связать мой переопределенный HTML в refineryCMS с соответствующими таблицами стилей, а также с соответствующими изображениями и файлами javascript"

Я был бы очень признателен за любую помощь, чтобы помочь мне. Спасибо.

1 ответ

Решение

Спасибо за использование НПЗ. Есть два способа сделать это, но на самом деле первый - мои предпочтения.

Простой и рекомендуемый способ, используя CSS селекторы:

Во-первых, ознакомьтесь с разделом руководства по началу работы с "стилями представления".

Теперь просто создайте файл ресурсов для домашней страницы, давайте назовем его app/assets/stylesheets/home.css.scss, К этому мы можем добавить вложенные стили под следующим селектором идентификатора. я добавил 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)
Другие вопросы по тегам