Переопределение макетов в 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)