Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Mein Ansatz für wechselnde CSS Files / Multishop

    DJ-Ready

    • Mitglied
    • Beiträge: 218
    • Geschlecht:
    Also da in meinem Shop Vorstellungsthread gefgragt wurde wie ich die wechselnden CSS gemacht hab hier kommts ... Bambussalz.de

    erstmal hab ich ne kleine php Funktion drin womit ich strpos() etwas komfortabler nutzen kann

    Code: PHP  [Auswählen]
    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)

    Code: PHP  [Auswählen]
    $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 found
    if              ($isamanprana == "0" && $isbronner == "0")      {$templatehack = "";} //bambu
    elseif  ($isamanprana == "1" && $isbronner == "0")      {$templatehack = "_amanprana";}
    elseif  ($isamanprana == "0" && $isbronner == "1")      {$templatehack = "_bronner";}
    else                                                                                            {$templatehack = "";} //bambu
    echo '<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

    Code: PHP  [Auswählen]
                            {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
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #1 am: 22. Juni 2010, 14:33:26
    Vielen Dank für deinen Ansatz, Michael.
    Jetzt habe ich wieder was zum experimentieren, sobald ich dazu komme :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #2 am: 22. Juni 2010, 15:04:27
    Coole Idee! :thx:

    Grüße

    Torsten

    jamiro

    • Mitglied
    • Beiträge: 144
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #3 am: 24. Juni 2010, 09:46:30
    Wenn ich also wechselnde Header-Grafiken haben will, was muss ich dann genau umschreiben und in welcher Datei? Unterscheidet der dann nach Kategorien-IDs?
    Vielen Dank

    DJ-Ready

    • Mitglied
    • Beiträge: 218
    • Geschlecht:
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #4 am: 24. Juni 2010, 11:02:42
    hier ein kleines vereinfachtes Beispiel. Müsste eigendlich selbsterklärend sein :)

    Code: PHP  [Auswählen]
    {php}
    //"cPath=x_xx" wird in der url gesucht. Wenn gefunden wird der jeweilige suffix an den dateinamen des headers gehängt.
    //wenn man SEO Urls benutzt kann man auch direkt nach bestimmten wörtern in der url suchen anstatt kategorie nummer o.ä. abzufragen

    //die standart header grafik heisst "header-grafik.jpg" und wird dann zu z.b. header-grafik-nummer1.jpg geändert wenn cPath=1_20 in der url drin steckt

    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"]."";

    $header_11      = strposa($string,array("cPath=1_20")); if ($header_1 != ""){$header_1 = "-nummer1";}
    $header_12      = strposa($string,array("cPath=4_27")); if ($header_2 != ""){$header_2 = "-nummer2";}
    $header_13      = strposa($string,array("cPath=3_22")); if ($header_3 != ""){$header_3 = "-nummer3";}

    $headerimg = $header_1.$header_2.$header_3;
    {/php}

    {$tpl_path}/header-grafik{php}echo $headerimg;{/php}.jpg
    <!-- gibt header-grafik.jpg bzw. header-grafik-suffix.jpg aus -->
     
    Den header aus mehreren strings zusammensetzen ist absicht so kann man wenn man es geschickt anstellt mehrere suffixe verschachteln ...

    Wenn du aber wirklich nur den Header ändern willtst per Kategorie gibts da auch schon Module für glaub ich. Ich hab hier im Forum mal irgendwo was gesehen wo man wohl im Admin Menu ganz einfach pro Kategorie ein Header Bild definieren kann

    jamiro

    • Mitglied
    • Beiträge: 144
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #5 am: 24. Juni 2010, 11:23:27
    Danke für deine Hilfe. Dann werd ich wohl ein bisschen suchen müssen nach dem Modul für die verschiedenen Header pro Kategorie.

    p3e

    • Experte
    • Beiträge: 2.426
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #6 am: 10. März 2011, 11:12:05
    Hallo DJ-Ready, bin gerade auf Deine CSS-Weiche gestoßen. Wieso machst Du da nicht gleich eine Templateweiche draus? Das hätte den Vorteil, dass Du damit noch flexibler im Design wirst als es mit CSS möglich ist.

    Der nächste Schritt zum echten Multishop wäre dann eine Weiche je nach aufgerufener Domain in Kombination mit extra Kundengruppen pro Shop (Gast_Shop1, Gast_Shop2, Gast_Shop3, Endverbraucher_Shop1, Endverbraucher_Shop2, ...). So können die Shops theoretisch verschiedenen Preise haben oder bestimmte Produkte können über die Kundengruppenregelung bei bestimmten Shops gesperrt sein.

    Soweit ist modified eCommerce Shopsoftware einer Multishoplösung nicht entfernt.

    mantis

    • Viel Schreiber
    • Beiträge: 1.188
    • Geschlecht:
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #7 am: 10. März 2011, 12:00:03
    Eine Template-Weiche benötigt schon größere eingriffe ins System damit Diese Fehlerfrei laufen aber probiere mal MODUL: pro (Unter-)Kategorie ein eigenes Stylesheet

    Gruss
    mantis

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #8 am: 10. März 2011, 12:46:20
    Das kann ich nicht bestätigen. Eine kleine Funktion in der "application_top.php" und gut ist.

    Gruss Gerhard

    p3e

    • Experte
    • Beiträge: 2.426
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #9 am: 10. März 2011, 12:50:23
    Eine domainanhänige Templateweiche ist wirklich kein Problem - hatte ich auch bereits bei einer frühen xt:Commerce Version realisiert.

    Matt

    • Experte
    • Beiträge: 4.241
    Mein Ansatz für wechselnde CSS Files / Multishop
    Antwort #10 am: 10. März 2011, 12:52:06
    Naja, so groß ist der Aufwand für einen Templateswitcher nicht. Hab ich vor vier Jahren mal für xt:Commerce gemacht, sollte modified eCommerce Shopsoftware auch funktionieren: Template-Switcher für xt:Commerce

    1 Antworten
    1595 Aufrufe
    28. November 2016, 11:14:50 von Bonsai
    2 Antworten
    3043 Aufrufe
    21. Mai 2015, 19:52:22 von hpzeller
    18 Antworten
    8503 Aufrufe
    08. April 2011, 17:38:36 von Parry