Se creiamo fogli di stile diversi per ogni tema e apportando piccoli cambiamenti, allora dobbiamo fare lo stesso cambia in tutti i fogli di stile. Sarà davvero un mal di testa. In alternativa, è possibile utilizzare i concetti SASS (mixins).
Aggiungi nella tua Gemfile
gem 'sass-rails'
poi
bundle install
Ora è necessario avere gli stili CSS in un unico file SCSS. basic_styles.scss
$font_color: #565656;
$font-size: 13px;
$success-color: #088A08;
$error-color: #B40404;
@mixin basic_styles($dark_color,$light_color,$bullet_image)
{
.footer
{
background-color: rgba($dark_color,0.9);
color: $light_color;
text-align: center;
position: fixed;
bottom:0;
left:0;
width: 100%;
height: 15px;
border-top: 1px solid lighten($dark_color, 9%);
padding-left: 10px;
padding-right: 10px;
font-size: $font_size - 2;
}
h3,hr,a,input
{
color: $dark_color;
}
h3
{
margin-top: 2px;
margin-bottom: 2px;
}
hr {
border-color: lighten($dark_color, 30%) -moz-use-text-color #FFFFFF;
border-left: 0 none;
border-right: 0 none;
border-style: solid none;
border-width: 1px 0;
}
.btn
{
background-color: $dark_color;
border-color: darken($dark_color, 15%);
border-radius: 4px 4px 4px 4px;
border-style: solid;
border-width: 1px;
color: #FFFFFF;
cursor: pointer;
display: inline-block;
line-height: 18px;
padding: 3px 10px 3px 10px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
vertical-align: middle;
}
.btn:hover
{
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 0px 0px 2px 1px lighten($dark_color, 10%);
-webkit-box-shadow: 0px 0px 2px 1px lighten($dark_color, 10%);
box-shadow: 0px 0px 2px 1px lighten($dark_color, 10%);
}
.success
{
color: $success-color;
}
.error
{
color: $error-color;
}
}
quindi è possibile creare qualsiasi numero di temi. Per esempio Theme_Blue.scss
@import "basic_styles";
$dark_color: #08c;
$light_color: #FFFFFF;
$bullet_image: 'bullet_blue.png';
@include basic_styles($dark_color,$light_color,$bullet_image);
Ora nel tuo html
<%= stylesheet_link_tag "Theme_Blue" %>
utilizzerà i tutte le classi CSS di cui basic_styles.scss con i colori blu.
È possibile aggiungere qualsiasi numero di file di temi come Theme_Blue.scss. e cambiare per
<%= stylesheet_link_tag current_user.theme %>
In questo modo, è necessario modificare solo le basic_styles.scss per eventuali modifiche.
cosa hai provato? –
Sono nuovo alle rotaie quindi non sono sicuro di dove o come iniziare. Non posso trovare alcuna informazione su questo online. Come fanno i wordpress a cambiare tema così bene? – AdamT