Új sablon CSS cserével
Szerző
Üzenet
Sziasztok!
Egy érdekes kérdésem lenne: van-e olyan mod, vagy lehetőség, ami (hasonlóan az NV Quick Style-hoz) kicseréli a sablont, de csak a CSS fájlt.
Tehát a konkrét példa: van egy sablonom, ami fix szélességű, 960px. Viszont a wide monitorosoknak ugyanezt a sablont 1300px-re tolnám ki. Más szinte nem változna. Tehát elég lenne egy CSS paramétert átírnom, és máris kész.
Ha a sablont beduplázom, akkor helyet foglal, plusz a modokat is többször kell felvinni, ami plusz meló. Tehát a CSS cserét kellene megoldani egy kapcsolóval. (Pl. a jobb felső sarokban az, hogy 4:3-as vagy 16:9-es méret). (Ugyanez a megoldás jó lenne pl. a színvariációknál is, pl. zöld és kék.)
Van-e ilyenre lehetőség persze úgy, hogy ezt akár sütiben, vagy user beállításban lementse?
Egy érdekes kérdésem lenne: van-e olyan mod, vagy lehetőség, ami (hasonlóan az NV Quick Style-hoz) kicseréli a sablont, de csak a CSS fájlt.
Tehát a konkrét példa: van egy sablonom, ami fix szélességű, 960px. Viszont a wide monitorosoknak ugyanezt a sablont 1300px-re tolnám ki. Más szinte nem változna. Tehát elég lenne egy CSS paramétert átírnom, és máris kész.
Ha a sablont beduplázom, akkor helyet foglal, plusz a modokat is többször kell felvinni, ami plusz meló. Tehát a CSS cserét kellene megoldani egy kapcsolóval. (Pl. a jobb felső sarokban az, hogy 4:3-as vagy 16:9-es méret). (Ugyanez a megoldás jó lenne pl. a színvariációknál is, pl. zöld és kék.)
Van-e ilyenre lehetőség persze úgy, hogy ezt akár sütiben, vagy user beállításban lementse?
Akkor álljon itt egy ideiglenes megoldás. Ideiglenes, mert sütiben tárol, nem adatbázisban, tehát userenként nem lehet letárolni. Mivel nem értek a keresztbe programozáshoz (javascript vs. php), így a következő módon készítettem el:
- a témában készítettem a stylesheet.css-ből egy másolatot (subsilver2 témám van) stylesheet2.css névvel az eredeti mellé
- módosítottam, amit kellett benne (szélesség, képek)
- a functions.php-be felvettem egy sort. Keresd ezt:
alá ezt tedd be:
- az overall_header.html-be a következőket kódoltam:
Keresd ezt:
Cseréld le erre:
Keresd ezt:
Tedd be elé ezt:
Keresd ezt:
Cseréld le erre:
Keresd ezt:
Add utána ezt:
- nomármost. A cookie neve módosítható és 30 napra szól (ld a kódban). Az Egy és Kettő szöveg átírható.
Amit észrevettem, hogy alapból az elsőt betölti, majd utána tölti a második stíluslapot. Ezen is csiszolni lehetne. Illetve nem mindegyik böngésző jegyzi meg a sütit...
Ui: sajnos itt a kód nem megfelelően van idézve, így itt az eredeti oldal, ahonnan a script származik:
http://www.thesitewizard.com/javascripts/change-style-sheets.shtml
- a témában készítettem a stylesheet.css-ből egy másolatot (subsilver2 témám van) stylesheet2.css névvel az eredeti mellé
- módosítottam, amit kellett benne (szélesség, képek)
- a functions.php-be felvettem egy sort. Keresd ezt:
Kód:
'T_STYLESHEET_LINK' => (!$user->theme['theme_storedb']) ? "{$web_path}styles/" . $user->theme['theme_path'] . '/theme/stylesheet.css' : append_sid("{$phpbb_root_path}style.$phpEx", 'id=' . $user->theme['style_id'] . '&lang=' . $user->lang_name),
alá ezt tedd be:
Kód:
'T_STYLESHEET_LINK2' => (!$user->theme['theme_storedb']) ? "{$web_path}styles/" . $user->theme['theme_path'] . '/theme/stylesheet2.css' : append_sid("{$phpbb_root_path}style.$phpEx", 'id=' . $user->theme['style_id'] . '&lang=' . $user->lang_name),
- az overall_header.html-be a következőket kódoltam:
Keresd ezt:
Kód:
<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
Cseréld le erre:
Kód:
<link rel="stylesheet" type="text/css" title="sablon1"
href="{T_STYLESHEET_LINK}">
<link rel="alternate stylesheet" type="text/css" title="sablon2"
href="{T_STYLESHEET_LINK2}">
Keresd ezt:
Kód:
// ]]>
</script>
Tedd be elé ezt:
Kód:
// *** TO BE CUSTOMISED ***
var style_cookie_name = "stylecookie" ;
var style_cookie_duration = 30 ;
// *** END OF CUSTOMISABLE SECTION ***
function switch_style ( css_title )
{
// You may use this script on your site free of charge provided
// you do not remove this notice or the URL below. Script from
// http://www.thesitewizard.com/javascripts/change-style-sheets.shtml
var i, link_tag ;
for (i = 0, link_tag = document.getElementsByTagName("link") ;
i < link_tag.length ; i++ ) {
if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1) &&
link_tag[i].title) {
link_tag[i].disabled = true ;
if (link_tag[i].title == css_title) {
link_tag[i].disabled = false ;
}
}
set_cookie( style_cookie_name, css_title,
style_cookie_duration );
}
}
function set_style_from_cookie()
{
var css_title = get_cookie( style_cookie_name );
if (css_title.length) {
switch_style( css_title );
}
}
function set_cookie ( cookie_name, cookie_value,
lifespan_in_days, valid_domain )
{
// http://www.thesitewizard.com/javascripts/cookies.shtml
var domain_string = valid_domain ?
("; domain=" + valid_domain) : '' ;
document.cookie = cookie_name +
"=" + encodeURIComponent( cookie_value ) +
"; max-age=" + 60 * 60 *
24 * lifespan_in_days +
"; path=/" + domain_string ;
}
function get_cookie ( cookie_name )
{
// http://www.thesitewizard.com/javascripts/cookies.shtml
var cookie_string = document.cookie ;
if (cookie_string.length != 0) {
var cookie_value = cookie_string.match (
'(^|;)[\s]*' +
cookie_name +
'=([^;]*)' );
return decodeURIComponent ( cookie_value[2] ) ;
}
return '' ;
}
Keresd ezt:
Kód:
<body class="{S_CONTENT_DIRECTION}">
Cseréld le erre:
Kód:
<body class="{S_CONTENT_DIRECTION}" onload="set_style_from_cookie()">
Keresd ezt:
Kód:
<td class="gensmall"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ENDIF --></td>
Add utána ezt:
Kód:
<td class="gensmall"><form>
<input type="submit"
onclick="switch_style('sablon1');return false;"
name="theme" value="Egy" id="sablon1">
<input type="submit"
onclick="switch_style('sablon2');return false;"
name="theme" value="Kettő" id="sablon2">
</form>
</td>
- nomármost. A cookie neve módosítható és 30 napra szól (ld a kódban). Az Egy és Kettő szöveg átírható.
Amit észrevettem, hogy alapból az elsőt betölti, majd utána tölti a második stíluslapot. Ezen is csiszolni lehetne. Illetve nem mindegyik böngésző jegyzi meg a sütit...
Ui: sajnos itt a kód nem megfelelően van idézve, így itt az eredeti oldal, ahonnan a script származik:
http://www.thesitewizard.com/javascripts/change-style-sheets.shtml
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.