Also da in meinem Shop Vorstellungsthread gefgragt wurde wie ich die wechselnden CSS gemacht hab hier kommts ...
Bambussalz.deerstmal hab ich ne kleine php Funktion drin womit ich strpos() etwas komfortabler nutzen kann
function strposa
($haystack ,$needles=array(),$offset=0){ $chr = array(); foreach($needles as $needle){ if (strpos($haystack,$needle,$offset) !== false) { $chr[] = strpos($haystack,$needle,$offset); } } if(empty($chr)) return false; return min($chr);}$string = " ".$_SERVER["REQUEST_URI"].""; Als zu durchsuchender String wird am ende noch die request_uri definiert (webseiten URL)
Dann wird jender String einfach auf bestimmte Keywords in der URL durchsucht und je nach ergebnis ein string an die url zum CSS File angehängt (da per htaccess die URLs umgeschrieben werden ists auch recht simpel zu nutzen)
$templatehack = strposa
($string,array("Amanprana-Shop","cPath=1")); if ($templatehack == "") {$isamanprana = "0";} else {$isamanprana = "1";} // needle NOT found else needle found$templatehack = strposa
($string,array("cPath=5","Dr-Bronner-Shop")); if ($templatehack == "") {$isbronner = "0";} else {$isbronner = "1";} // needle NOT found else needle foundif ($isamanprana == "0" && $isbronner == "0") {$templatehack = "";} //bambuelseif ($isamanprana == "1" && $isbronner == "0") {$templatehack = "_amanprana";}elseif ($isamanprana == "0" && $isbronner == "1") {$templatehack = "_bronner";}else {$templatehack = "";} //bambuecho '<link rel="stylesheet" type="text/css" href="templates/bambu/stylesheet'.$templatehack.'.css" />'; Ist alles zwar nicht sehr elegant aber das war so mit das allererste was ich für den neuen modified eCommerce Shopsoftware Shop geschrieben hab um überhaupt zu schauen ob wechselnde CSS Files möglich sind ... als es dann funktionierte hab ichs einfach so drin gelassen ;P
Das selbe System benutze ich auch um wechselnde Header Grafiken in bestimmten Kategorien anzuzeigen. Auf die idee das Forum hier mal zu durchsuchen und zu schauen ob es solche Module evtl. schon gibt bin ich damals garnicht gekommen haha ...
Das ganze kann man allerdings im Template auch recht einfach benutzen um nur in bestimmten Kategorien sachen anzuzeigen oder änliches
{php}
if ($templatehack == "_bronner")
{ echo'
<div style="clear:both" align="right">Zeugs hier</div>
';
}
{/php}
Naja .. alles nicht die eleganteste Art einen "multi"shop zu realisieren aber es funktioniert wunderbar also lasse ich es einfach so wie es ist .. never change a running system und so weiter
Ein Nachteil dabei ist allerdings das ich mit die xhtml validierung damit versaue da das css ausserhalb des Headers nochmal aufgerufen wird .. naja.
Linkback: https://www.modified-shop.org/forum/index.php?topic=6307.0