Ankündigung

Einklappen
Keine Ankündigung bisher.

kleine Frage zu Einfärben von Kategorie

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kleine Frage zu Einfärben von Kategorie

    Hallo,

    ich habe ein css & php script welches automatisch die Kategorien erstellt und dann natürlich auch das Layout zuweist.

    Jetzt würde ich aber gerne einzelne Kategorien herausnehmen und farblich ändern. Wie müsste dazu der hardcode lauten welchen ich unter php brauche damit ich z.B. category id 1 = red machen kann ....???

    Hat jemand einen Plan?

    danke,
    lg@all


  • #2
    PHP-Code:
    if($kategorie=="red") echo "color:red;"
    Under Construktion

    Kommentar


    • #3
      aha....also muss in meinem Falle das Ganze so aussehen oder?

      if($kategorie=="red") echo "color:red;";



      if ($categorie id==67) echo "color:#000000";

      ich bin mir sicher das stimmt so noch nicht ganz ....

      hoffe aber ihr könnt mir helfen .. das es so geht

      Danke an alle....

      Kommentar


      • #4
        Zitat von cybermailer Beitrag anzeigen
        ich bin mir sicher das stimmt so noch nicht ganz ....
        Doch, doch, solange wir nicht wissen was du willst, stimmt das sicher. Wenn du uns allerdings konkretere Angaben machst oder gar einen Ausschnitt aus deinem Code zeigst, dann stimmt es wahrscheinlich nicht mehr.
        PS
        Ist ja eigentlich keine PHP-Frage
        Gruss
        L

        Kommentar


        • #5
          also zur erklärung ich nutze xt commerce und bei mir werden die kategorien automatisch generiert auf Grundlage der css.

          Das heißt die Kategorienamen sind i.d. mysql Datenbank abgegelegt.
          Die Tabelle dazu heißt categories....die Zuweisung z.B. Kategoriename HAUS erfolgt so: categories_id 67 (67 entspricht der Kategorie HAUS)

          das ist mein css:

          PHP-Code:
          /* ########## Menu ########## */
          ul.navilist { list-style-type:nonemargin:0px;padding:0px;}
          li.maincat {padding:0pxmargin0;}
          /* ##########Hauptkategorie ########## */
          .maincat { list-style-type:nonemargin0padding0border-bottom1px dashed #b2bc73;}
          .maincat a {font-size11pxcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; }
          .maincat a:hover{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }
          .maincat a.gewaehlt{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }
          .maincat a.gewaehlt:hover{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }
           
          /* ##########Unterkategorie 1 Eben ########## */
          .subcatlevel1 {margin0padding0border-bottom1px dashed #b2bc73;}
          .subcatlevel1 a{font-size11pxcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
          .subcatlevel1 a:hover {font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
          .subcatlevel1 a.gewaehlt{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
          .subcatlevel1 a.gewaehlt:hover{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
           
          /* ##########Unterkategorie 2 Eben ########## */
          .subcatlevel2 {margin0padding0border-bottom1px dashed #f1f7fa;}
          .subcatlevel2 a{font-size11pxcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; margin: 0 0 0 12px;}
          .subcatlevel2 a:hover {font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; margin: 0 0 0 12px;}
          .subcatlevel2 a.gewaehlt{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
          .subcatlevel2 a.gewaehlt:hover{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;} 
          und hier meine xt_show_category

          PHP-Code:
          function xtc_show_category($counter) {
          global 
          $foo$categories_string$id;
           
          //start the loop
          for ($a=0$a<$foo[$counter]['level']; $a++) 
          {}
           
          if (
          $foo[$counter]['level']==''//maincat
          {
          if (
          strlen($categories_string)=='0'
          {
          $categories_string .='<ul class="navilist">';

          $categories_string .='
          <li class="maincat'
          ;
          $categories_string .= '"><a class="';
          if ( (
          $id) && (in_array($counter$id)) ) 
          {
          $categories_string .= 'gewaehlt';
          }
          $categories_string .= '" href="';

          else 
          //subcat
          {
          $categories_string .= '
          <li class="subcatlevel'
          .$foo[$counter]['level'];
          $categories_string .= '"><a class="';
          if ( (
          $id) && (in_array($counter$id)) ) 
          {
          $categories_string .= 'gewaehlt';
          }
          $categories_string .= '" href="';
          }
          $cPath_new=xtc_category_link($counter,$foo[$counter]['name']);
          $categories_string .= xtc_href_link(FILENAME_DEFAULT$cPath_new);
          $categories_string .= '">';
          $categories_string .= $foo[$counter]['name'];
          if (
          SHOW_COUNTS == 'true'
          {
          $products_in_category xtc_count_products_in_category($counter);
          if (
          $products_in_category 0
          {
          $categories_string .= ' <span class="catcount">(' $products_in_category ')</span>';
          }
          }
          $categories_string .= '</a></li>';
          if (
          $foo[$counter]['next_id']) 
          {
          xtc_show_category($foo[$counter]['next_id']);

          else 
          {
          $categories_string .= '</ul>';
          }
          }
          ?> 
          Ich hoffe jetzt konnt eich Klarheit schaffen )
          Danke für eure hilfe...

          bin dankbar für jeden tipp.

          Kommentar


          • #6
            Als allererstes, schau mal, wie man Code vernünftig formatieren kann, so kann ja kein Mensch deinen Code lesen. Das gilt sinngemäss auch für den CSS-Code.
            Globale Variablen in Funktionen sind eigentlich immer überflüssig.
            Ich weiss jetzt natürlich immer noch nicht, was du z.B. rot ausgeben willst. Aber grundsätzlich machst du mal in deinem Stylesheet ein zusätzliche Klasse mit roter Schrift. Und wenn dann die entsprechende Kategorie auftritt, weist du dem gewünschten Element die entsprechende Klasse zu.
            Gruss
            L

            Kommentar


            • #7
              natürlich das color:red in den style="" dings bums von deiner schrift... einfach so wird es nicht funktionieren....
              Under Construktion

              Kommentar


              • #8
                das ist das Problem. das css dient nur für die allgemeine formatierung
                siehe ElectronicStore.at ... es wäre aber von vorteil wenn ich gewissen Kategorien zb. ElectronicStore.at eine eigene Farbe geben könnte.

                Da die Kategorien dynamisch erstellt werden und nicht hardcode sind glaub ich dass ich mit css da nichts machen kann ... sondern einfach hergehen muss und manuell ins php file die Zeile code. (je nachdem welche Kategorie ich einfärben will ändere ich die categories id....)


                so sieht meine sql tabelle aus... und von hier kann ich entnehmen welche kategorie welche id hat...

                wie kann ich in php nun sagen dass immer wenn die categorie mit jener id zum vorschein kommt einfärbt wird in die von mir gewünschte Farbe...

                lg


                diese php datei bindet die kategorien ein ...


                PHP-Code:
                global $MaxLevel$HideEmpty$ShowAktSub;
                $MaxLevel 2;
                $HideEmpty true;
                $ShowAktSub true;
                function 
                xtc_show_category($cid$level$foo$cpath) {
                global 
                $old_level$categories_string//, $HTTP_GET_VARS; // Brauchen wir nicht
                global $MaxLevel$HideEmpty$ShowAktSub;
                // 1) Überprüfen, ob Kategorie Produkte enthält
                $Empty true;
                $pInCat xtc_count_products_in_category($cid);
                if (
                $pInCat 0)
                $Empty false;

                // 2) Überprüfen, ob Kategorie gezeigt werden soll
                $Show false;
                if (
                $HideEmpty) {
                if (!
                $Empty)
                $Show true;
                } else {
                $Show true;
                }
                // 3) Überprüfen, ob Unterkategorien gezeigt werden sollen
                $ShowSub false;
                if (
                $MaxLevel) {
                if (
                $level $MaxLevel)
                $ShowSub true;
                } else {
                $ShowSub true;
                }

                if(
                $Show) { // Wenn Kategorie gezeigt werden soll ....

                if ($cid != 0) {

                // 24.06.2007 BugFix
                // Auf "product_info"-Seiten wurde Kategorie nicht erkannt 
                // $category_path = explode('_',$HTTP_GET_VARS['cPath']);
                $category_path explode('_',$GLOBALS['cPath']); 
                $in_path in_array($cid$category_path);
                $this_category array_pop($category_path);

                for (
                $a 0$a $level$a++) ;

                // Produktzählung
                $ProductsCount false;
                // Lange gerätselt, aber das ist tatsächlich 
                // ein String und kein Boolean. 
                if (SHOW_COUNTS == 'true'
                $ProductsCount ' <em>(' $pInCat ')</em>'

                // Aktiv - Nicht Aktiv
                $Aktiv false;
                if (
                $this_category == $cid
                // Wenn Kategorie aktiv ist
                $Aktiv ' class="gewaehlt"'
                elseif (
                $in_path
                // Wenn Oberkategorie aktiv ist
                $Aktiv ' class="gewaehlt"';

                // Hat ein SubMenue - hat kein SubMenue
                // CSS-Klasse festlegen
                $SubMenue false;
                if (
                xtc_has_category_subcategories($cid)) 
                $SubMenue " SubMenue";

                 
                // Listenpunkt
                // CSS-Klasse festlegen
                $MainStyle 'CatLevel'.$level;

                // Quelltext einrücken
                $Tabulator str_repeat("\t",$level-1);

                // Navigations-Liste ist jetzt hierarchisch!
                if($old_level) { 
                if (
                $old_level $level) {
                $Pre "\n<ul>";
                $Pre str_replace("\n","\n".$Tabulator$Pre)."\n";
                } else {
                $Pre "</li>\n";
                if (
                $old_level $level) {
                // Listenpunkte schließen
                // Quelltext einrücken
                for ($counter 0$counter $old_level $level$counter++) {
                $Pre .= str_repeat("\t"$old_level $counter -1)."</ul>\n".str_repeat("\t"$old_level $counter2)."</li>\n";
                }
                }

                }

                // Listenpunkte zusammensetzen
                $categories_string .= $Pre.$Tabulator.
                '<li class="'.$MainStyle.$SubMenue.'">'.
                // Bugfix, 12. Juli 2007
                //'<a href="' . xtc_href_link(FILENAME_DEFAULT, 'cPath=' . $cpath . $cid) . '">'.
                '<a'.$Aktiv.' href="' xtc_href_link(FILENAME_DEFAULTxtc_category_link($cid$foo[$cid]['name']) ) . '">'.
                $foo[$cid]['name'].$ProductsCount.
                '</a>';
                }

                // für den nächsten Durchgang ...
                $old_level $level;

                // Unterkategorien durchsteppen
                foreach ($foo as $key => $value) {

                if (
                $foo[$key]['parent'] == $cid) {

                // Sollen Unterkategorien gezeigt werden?
                if ($ShowAktSub && $Aktiv)
                $ShowSub true;

                if (
                $ShowSub
                xtc_show_category($key$level+1$foo, ($level != $cpath $cid '_' ''));

                }
                // Ende if($Show)

                ?> 

                Kommentar


                • #9
                  Zitat von cybermailer Beitrag anzeigen
                  wie kann ich in php nun sagen dass immer wenn die categorie mit jener id zum vorschein kommt einfärbt wird in die von mir gewünschte Farbe...
                  Vermutlich genau so, wie ich schon gesagt habe. Aber ein zweites mal schaue ich zum gleichen Thema keinen unformatierten Code an.
                  Gruss
                  L

                  Kommentar


                  • #10
                    den code habe ich leider nicht geschrieben ...
                    anscheinend dürfte das problem ohnehin nicht so einfach zu lösen sein wie ich dachte ... schade..

                    Kommentar


                    • #11
                      Zitat von cybermailer Beitrag anzeigen
                      den code habe ich leider nicht geschrieben ...
                      anscheinend dürfte das problem ohnehin nicht so einfach zu lösen sein wie ich dachte ... schade..
                      für 10 € sag ich dir ist es in max 30 min fertig... kann net so viel sein
                      Under Construktion

                      Kommentar


                      • #12
                        Zitat von cybermailer Beitrag anzeigen
                        den code habe ich leider nicht geschrieben ...
                        Ich glaube kaum, dass die von xt:commerce für 100 Euro so formatierten Code liefern!
                        Zitat von cybermailer Beitrag anzeigen
                        anscheinend dürfte das problem ohnehin nicht so einfach zu lösen sein wie ich dachte ... schade..
                        Wahrscheinlich noch einfacher, aber wie gesagt ...
                        Gruss
                        L

                        Kommentar


                        • #13
                          würdst dus machen für eur 10? dann lass mir doch deine email adresse zukommen...danke lg

                          Kommentar


                          • #14
                            Ich will kein Geld, aber ich helfe nur bei anstängig formatiertem Code. Und wenigstens das wirst du ja noch hinbringen, auch wenn du den Code nicht geschrieben hast.
                            Ausserdem ist ja noch gar nicht klar, was du einfärben willst.
                            Gruss
                            L

                            Kommentar


                            • #15
                              Ich formuliere jetzt noch mal ganz genau was ich möchte:

                              So sieht meine derzeite Lösung aus:



                              ich möchte aber dass ich manuell festlegen kann dass gewisse Kategorien
                              (einzelne) eine gewisse Farbe haben z.B.: AMD Systeme die Farbe Rot



                              Mein dazugehöriges Stylesheet sieht zurzeit so aus:

                              PHP-Code:
                              /*        ########## Menu ##########        */
                              ul#CatNavi { list-style-type:none; margin:0px;padding:0px;}
                              #CatNavi ul, #CatNavi li { list-style-type: none; padding:0; margin: 0;}

                               /*        ##########Hauptkategorie ##########        */
                              .CatLevel1 { list-style-type:nonemargin0padding0border-bottom1px dashed #b2bc73;}
                              .CatLevel1 a {font-size11pxfont-weightboldcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; }
                              .CatLevel1 a:hover{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }
                              .CatLevel1 a.gewaehlt{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }
                              .CatLevel1 a.gewaehlt:hover{font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; }


                               /*        ##########Unterkategorie 1 Eben  ##########        */

                              .CatLevel2 {margin0padding0border-bottom1px dashed #b2bc73;}
                              .CatLevel2 a{font-size11pxfont-weightnormalcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
                              .CatLevel2 a:hover {font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
                              .CatLevel2 a.gewaehlt{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
                              .subcatlevel1 a.gewaehlt:hover{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}

                              /*        ##########Unterkategorie 2 Eben  ##########        */
                              .CatLevel3 {margin0padding0border-bottom1px dashed #f1f7fa;}
                              .CatLevel3 a{font-size11pxcolor:#000000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; margin: 0 0 0 12px;}
                              .CatLevel3 a:hover {font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; margin: 0 0 0 12px;}
                              .CatLevel3 a.gewaehlt{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
                              .CatLevel3 a.gewaehlt:hover{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;} 
                              was da drinnen steht ist nicht so wichtig es wiedergibt nur die formatierung welche man auf den Bildern sieht.

                              Jetzt suche ich nach einen Lösungsansatz z.b.: dass ich eine weitere css option anlege und per php darauf verweise z.B.: so inetwa

                              PHP-Code:
                              /*        ##########Unterkategorie 1 Eben FARBE ROT  ##########        */

                              .CatLevel2a {margin0padding0border-bottom1px dashed #b2bc73;}
                              .CatLevel2a a{font-size11pxfont-weightnormalcolor:#FF0000; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeil.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
                              .CatLevel2a a:hover {font-size11pxcolor:#ce402c; padding: 3px 0 2px 14px; display: block; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat; margin: 0 0 0 6px;}
                              .CatLevel2a a.gewaehlt{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;}
                              .subcatlevel1 a.gewaehlt:hover{color:#ce402c; background-image: url(img/menupfeilh.jpg); background-repeat: no-repeat;} 
                              Jetzt wäre super, wenn ich hier in php sagen könnte wenn die Kategorie mit folgender ID auftritt dass diese CATLEVEL2a zu Anwendung kommt usw.
                              bin aber auch für jeden anderen Lösungansatz dankbar....

                              PHP-Code:
                                          // CSS-Klasse festlegen
                                          
                              $MainStyle 'CatLevel'.$level;
                                          
                                          
                              // Quelltext einrücken
                                          
                              $Tabulator str_repeat("\t",$level-1);
                                  
                                          
                              // Navigations-Liste ist jetzt hierarchisch!
                                          
                              if($old_level) { 
                                              if (
                              $old_level $level) {
                                                  
                              $Pre "\n<ul>";
                                                  
                              $Pre str_replace("\n","\n".$Tabulator$Pre)."\n";
                                              } else {
                                                  
                              $Pre "</li>\n";
                                                  if (
                              $old_level $level) {
                                                      
                              // Listenpunkte schließen
                                                      // Quelltext einrücken
                                                      
                              for ($counter 0$counter $old_level $level$counter++) {
                                                          
                              $Pre .= str_repeat("\t"$old_level $counter -1)."</ul>\n".str_repeat("\t"$old_level $counter2)."</li>\n";
                                                      }
                                                  }
                                              } 
                                          }
                                              
                                          
                              // Listenpunkte zusammensetzen
                                          
                              $categories_string .=    $Pre.$Tabulator.
                                                                  
                              '<li class="'.$MainStyle.$SubMenue.'">'.
                                                                  
                              // Bugfix, 12. Juli 2007
                                                                  //'<a href="' . xtc_href_link(FILENAME_DEFAULT, 'cPath=' . $cpath . $cid) . '">'.
                                                                  
                              '<a'.$Aktiv.' href="' xtc_href_link(FILENAME_DEFAULTxtc_category_link($cid$foo[$cid]['name']) ) . '">'.
                                                                  
                              $foo[$cid]['name'].$ProductsCount.
                                                                  
                              '</a>';
                                      }
                                      
                                      
                              // für den nächsten Durchgang ...
                                      
                              $old_level $level;
                                  
                                      
                              // Unterkategorien durchsteppen
                                      
                              foreach ($foo as $key => $value) {
                                  
                                          if (
                              $foo[$key]['parent'] == $cid) {
                                                  
                                              
                              // Sollen Unterkategorien gezeigt werden?
                                              
                              if ($ShowAktSub && $Aktiv)
                                                  
                              $ShowSub true;
                                              
                                              if (
                              $ShowSub
                                                  
                              xtc_show_category($key$level+1$foo, ($level != $cpath $cid '_' ''));
                                          } 
                                      }
                                  } 
                              // Ende if($Show)
                              }         
                              ?> 

                              Kommentar

                              Lädt...
                              X