Ik heb in mijn themes folder de style.css
Deze wordt standaard aangeroepen.
Nu zou ik graag bij mijn node/30 een andere style.css willen aanroepen bv style30.css
Waar ik een compleet andere css in kan zetten.
Ik heb hier iets gevonden: http://drupal.org/node/696408
Er staat dat je bv dit in je .info kunt zetten:
; $Id: choicez.info,v 1.5 2007/07/01 23:27:32 dale brendan Exp $
name = Choicez
description = Tableless, multi-column
version = VERSION
core = 6.x
engine = phptemplate
stylesheets[all][] = style.css
stylesheets[print][] = print.css
stylesheets[front][] = front.css ;front page stylesheet
stylesheets[about][] = about.css ;about us page stylesheetMaar wat ik niet snap is het gedeeltje hoe je bv op je "about us" pagina de about.css aanroept ipv de standaard style.css
/*
* ABOUT US: Style the elements on the About Us Page accordingly
*/
.about-us-page-styles {
}Waar zet ik dit neer? ...
Alvast bedankt
Ik heb hier: http://drupal.org/node/100343
iets gevonden waar ik nu in staat mee ben om voor iedere pagina een andere css aan te roepen.
<?phpif($_REQUEST['q']) {
$style_var = explode("/", $_REQUEST['q']);
$styles .= '<style type="text/css" media="all">@import
url(/path/to/your/styles/'.$style_var[0].'.css);</style>';
}
print $styles;
?>
Door dit in mijn page.tpl te zetten lukt het me.
Heb ik bv contact.css in mijn theme directory en ik maak een pagina genaamd: contact
dan roept hij automatisch contact.css aan.
Maak ik order.css dan werkt het ook bij de pagina order.css
Alleen lukt het me niet om voor mijn frontpage een css te maken. Ik heb namelijk een pagina genaamd: home
Maar maak ik voor de home pagina de css file home.css, dan wordt deze toch niet aangeroepen.
Hoe kan dit?
Je moet $_GET['q'] gebruiken in plaats van $_REQUEST['q']. Op die manier gaat het ook met de front page goed. Daarnaast gaat deze methode een heleboel 404's opleveren als er voor de opgevraagde URL paths geen stylesheets bestaan. Je zal daar dus een check voor moeten inbouwen. Als het om zeer kleine verschillen per pagina gaat, dan zou je ook een speciale class aan je body tag kunnen meegeven en de extra CSS gewoon in style.css neer kunnen zetten.
Oke bedankt Xano!
Maar hoe kan ik een class aan een node geven?
Ik heb dit gevonden: http://drupal.org/node/439350 maar ik snap het niet.
Als ik nu bv dit in de page-tpl.php zet:
en in Style.css:
test { margin: 0px; background-color: #f000; }
Hoe kan ik dan de body van node/32 nu bv background #F000; krijgen?
Zie ook de originele page.tpl.php in modules/system:
<body class="<?php print $body_classes; ?>">of als je wil kun je ook gewoon arg(1) printen als class in php, arg(1) is het nummertje van de node bij een node
<body class="node-<?php print arg(1); ?>">Hoi Hans,
Bedank alweer... ik ga het meteen testen!
thanx