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: CSS-Styles in der general.js.php

    Hot-Tips

    • Frisch an Board
    • Beiträge: 94
    CSS-Styles in der general.js.php
    am: 03. April 2010, 09:37:43
    Hallo Zusammen,

    habe ein kleines Problem auf meiner Testseite, dort möchte ich verschiedene CSS-Stile für die einzelnen Kategorien anlegen. Habe das jetzt mal zum Testen ausprobiert und die notwendigen Grafiken und stylesheet-Dateien erstellt.
    Soweit klappt das auch ganz gut, habe dazu folgendes in der general.js.php eingefügt:

    Code: PHP  [Auswählen]
    function css_change_style() {
     global $current_category_id;

        if( $current_category_id == 28 ) {  // <-- Welche Kategorie soll verändert werden?
            $stylesheet='stylesheet.css';
          }
         elseif( $current_category_id == 22 ) {  // <-- Welche Kategorie soll verändert werden?
            $stylesheet='stylesheet_braun.css';
          }
             elseif( $current_category_id == 31 ) {  // <-- Welche Kategorie soll verändert werden?
            $stylesheet='stylesheet_rot.css';
          }
             elseif( $current_category_id == 30 ) {  // <-- Welche Kategorie soll verändert werden?
            $stylesheet='stylesheet_orange.css';
          }
             elseif( $current_category_id == 26 ) {  // <-- Welche Kategorie soll verändert werden?
            $stylesheet='stylesheet_bronze.css';
          }
        else {
        $stylesheet='stylesheet.css';
        }
       return $stylesheet;
    }
    ?>
    <link rel="stylesheet" type="text/css" href="templates/xtc5/<?php echo css_change_style(); ?>" />
    Da ich jetzt nicht für jede einzelne Kategorie eine elseif-Abfrage starten möchte, würde ich gerne wissen, ob auch mehrere Kategorien in einer Abfrage behandelt werden können und wie der Befehl dafür aussehen würde!

    Zum besseren Verständnis, Kategorie X,Y,Z sollen Style "Rot" erhalten, Kategorie A,G,F sollen "Bronze" sein etc.

    Link zur Testseite

    Gruß
    Mike



    Linkback: https://www.modified-shop.org/forum/index.php?topic=4909.0
    Trade Republic - Provisionsfrei Aktien handeln

    web28

    • modified Team
    • Beiträge: 9.404
    CSS-Styles in der general.js.php
    Antwort #1 am: 03. April 2010, 11:32:00

    Hot-Tips

    • Frisch an Board
    • Beiträge: 94
    CSS-Styles in der general.js.php
    Antwort #2 am: 03. April 2010, 12:26:06
    Hehe, was zwei so || doch alles bewirken können, Danke für den Link!

    Gruß
    Mike

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #3 am: 03. April 2010, 13:58:49
    hi,

    das hier könnte dir auch helfen: http://www.php.net/manual/de/function.in-array.php

    Grüße
    Sebastian

    Hot-Tips

    • Frisch an Board
    • Beiträge: 94
    CSS-Styles in der general.js.php
    Antwort #4 am: 04. April 2010, 11:58:56
    Irgendwie haut das noch nicht so hin, wie ich mir das vorstelle! Hauptkategorien werden jetzt zwar im gewünschten CSS-Stil angezeigt und wechseln auch vernünftig, aber sobald ich eine Unterkategorie wähle, wird automatisch die Default angezeigt. Hier sollte aber der Stil der übergeordneten Kategorie übernommen werden, oder auch ein eigener erstellt werden können.
    Auch die von euch genannten Links haben mir nur insofern geholfen, dass ich experimentieren konnte, da ich aber in PHP ne Niete bin, habe ich es schnell sein gelassen, bevor ich alles zerstöre.
    Würde mich über eine Lösung freuen, die ich direkt integrieren kann, ohne da viel selbst ausprobieren zu müssen!

    Gruß
    Mike

    mantis

    • Viel Schreiber
    • Beiträge: 1.188
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #5 am: 07. Juli 2010, 10:56:59
    also Oben genannte würde ich mit der Break Anweisung lösen, ist schneller als die anderen Ansätze plus können mehrere Anweisungen problemlos und unabhängig integriert werden z.B. bestimmte js Bibliotheken oder Header Bilder oder, oder, oder...

    Gruss
    mantis

    DJ-Ready

    • Mitglied
    • Beiträge: 218
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #6 am: 08. Juli 2010, 07:51:47
    mit einer schleife die ID checken wäre am sinnvollsten. Eine einfachere Variante wäre z.b. mehrere Bedingungen mit OR zu verbinden
    also z.b.

    Code: PHP  [Auswählen]
    if ( $current_category_id == 31 || $current_category_id == 312 || $current_category_id == 313 )
    {
    //Anweisungen
    }

    albersmann

    • Moderator
    • Beiträge: 786
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #7 am: 10. Juli 2010, 20:29:07
    Hallo zusammen, hat jemand hier mal eine Lösung erarbeitet?

    Gruß

    Sven

    albersmann

    • Moderator
    • Beiträge: 786
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #8 am: 12. Juli 2010, 07:59:38
    Damit ihr euch besser vorstellen könnte was ich umsetzen möchte, habe ich ein Snapshot einer Kategoriedarstellung gemacht wie ich sie gerne umsetzten würde.

    Ich möchte jedoch das ganze Kategoriefeld farbig (wie bei den Unterkategorien) und nicht nur eine kleine Farbmarkierung an der linken Seite wie bei den dargestellten Hauptkategorien.

    Hat jemand einen Lösungsansatz?

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    DJ-Ready

    • Mitglied
    • Beiträge: 218
    • Geschlecht:
    CSS-Styles in der general.js.php
    Antwort #9 am: 13. Juli 2010, 07:37:11
    Wenn du Advanced Show Category benutzt kannst du ganz leicht jeden link oder jede navigationsebene einzeln stylen :)

    Alle <li> elemente auf margin und padding 0 setzen, list-style:none und im prinzip alles nur über die <a> tags stylen

    einen generellen style für die navigations <a> tags zu jeder navigationsebene und dann evtl einzeln die farben für die ränder links definieren (hintergrundbild und padding-left wäre am einfachsten, ansonsten border-left aber da gibts dann probleme mit dem dashed border um das ganze teil rum so wie in deinem Beispiel und mit verschachtelten listen elementen. Hoffen du kannst mir folgen? ^_^

    Weisst du denn schon genau was für kategorien du hast und wie viele usw.?

    w3-media

    • Neu im Forum
    • Beiträge: 23
    • Geschlecht:
    Re: CSS-Styles in der general.js.php
    Antwort #10 am: 21. Mai 2013, 00:45:17
    Hallo,

    ich habe das Konstrukt auch verwendet und es funktioniert einwandfrei. Danke schonmal dafür :)

    Aber ich habe dazu noch eine Frage:
    Wie bekomme ich das mit Content Seiten hin?

    Ich habe schon versucht nach coID / contend_id abzufragen, das funktioniert aber nicht.
    Ich muss auch dazu sagen, dass ich eher ein Laie bin was PHP betrifft ;)

    Ich würde mich sehr über schnelle Hilfe freuen und bedanke mich schonmal im Vorraus.

    Liebe nächtliche Grüße
    Jule

    Ps.: Es geht mir auch wirklich um verschiedene CSS, denn ich muss mehr als nur die Kategorien ändern ;)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.868
    • Geschlecht:
    Re: CSS-Styles in der general.js.php
    Antwort #11 am: 21. Mai 2013, 02:27:28
    Hab's schon ein paar mal an anderer Stelle erwähnt:
    Ich würde in der /includes/header.php dem body-tag eine Klasse und eine ID vergeben.
    Klasse allgemein, ob Kat-, Produkt, Content-, Account- oder "was-weiß-ich" -Seite
    und ID bei Kat-, Produkt- und Contentseiten indem der GET-Parameter ausgelesen wird.
    Beispiel:
    Code: PHP  [Auswählen]
    <?php
    // ***** BOC test for body id and class for categories, noRiddle *****
    $PATH_ID = '';
    $PATH_CLASS = '';
    $ID_PATH_ID = '';
    $CLASS_PATH_CLASS = '';
    // for start/index page
    if (strpos($PHP_SELF, 'index') && !isset($_GET['cPath']) && !isset($_GET['manufacturers_id'])) {
        $PATH_ID = 'start';
    // for category pages
    } elseif (isset($_GET['cPath'])) {
        $cP = preg_replace("#[^0-9_]#", '', $_GET['cPath']);
        $PATH_ID = 'cat-'.$cP;
        $PATH_CLASS = 'cat';
    }

    $ID_PATH_ID = $PATH_ID != '' ? ' id="'.$PATH_ID.'"' : '';
    $CLASS_PATH_CLASS = $PATH_CLASS != '' ? ' class="'.$PATH_CLASS.'"' : '';
    ?>
    <body<?php echo strpos($PHP_SELF, FILENAME_POPUP_IMAGE) ?  $ID_PATH_ID . $CLASS_PATH_CLASS . ' onload="resize();"' : $ID_PATH_ID . $CLASS_PATH_CLASS; ?>>
    <?php
    /*if (strstr($PHP_SELF, FILENAME_POPUP_IMAGE )) {
    echo '<body onload="resize();"> ';
    } else {
    echo '<body>';
    }*/

    // ***** EOC test for body id and class for categories, noRiddle *****

    Ergebnis beispielsweise auf einer Kategorie-Seite:
    Code: XML  [Auswählen]
    <body class="cat" id="cat-1_2">

    Ähnlich kann man das für Produktseiten usw. machen.
    Über CSS kann man nun alle Seiten gezielt ansprechen.

    Benötigt man außerdem andere Container legt man für categorie_listing und product_listing weitere Templates an und wählt diese in der Besarbeitung im Backend aus.
    Flexibler geht's kaum.

    Gruß,
    noRiddle

    w3-media

    • Neu im Forum
    • Beiträge: 23
    • Geschlecht:
    Re: CSS-Styles in der general.js.php
    Antwort #12 am: 22. Mai 2013, 12:22:45
    Ah ok, ich hatte es bei der Suche wohl übersehen oder nicht gefunden, sorry.

    Leider hat sich der Kunde jetzt umentschieden und es hat sich im Grunde erledigt -.-
    Aber man weiß ja nie, sicher kann man es nochmal anderweitig gebrauchen, also trotzdem vielen lieben Dank! :)
    1 Antworten
    2312 Aufrufe
    08. September 2011, 16:38:53 von Tomcraft
    3 Antworten
    3157 Aufrufe
    28. April 2011, 14:51:24 von fishnet
    5 Antworten
    3225 Aufrufe
    24. Mai 2010, 20:20:14 von kwiekids
    8 Antworten
    6140 Aufrufe
    13. Dezember 2011, 22:35:01 von p3e