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: Seltsamer Bug in der advanced_category von gunnART

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Seltsamer Bug in der advanced_category von gunnART
    am: 26. Dezember 2010, 11:29:27
    Irgendwie verzweifel ich gerade. Die "advanced_category" von gunnART ist ja wirklich wunderbar gemacht, gerade wenn man die Kategorien als horizontale Navigation haben möchte. Funktioniert auch wunderbar, nur leider verursachen meine Unterkategorien in der letzten Hauptkategorie einen Validierungsfehler, es fehlt ein schließendes </div>. Lösche oder deaktiviere ich die Unterkategorien im letzten Menüpunkt ist der Quellcode wieder valide.

    Schon seltsam, zumal die </ul></div> Geschichte nur an einer Stelle in der PHP-Datei deklariert wird.

    Code: PHP  [Auswählen]
    if($old_level) {
                                    if ($old_level <$level) {
                                            $Pre = "\n<div class=\"sub\"><ul>";
                                            $Pre = str_replace("\n","\n".$Tabulator, $Pre)."\n";
                                    } else {
                                            $Pre = "</li>\n";
                                            if ($old_level> $level) {
                                                    for ($counter = 0; $counter <$old_level - $level; $counter++) {
                                                            $Pre .= str_repeat("\t", $old_level - $counter -2)."</ul></div>\n".str_repeat("\t", $old_level - $counter- 2)."</li>\n";
                                                    }
                                            }
                                    }
                            }
    Stehe gerade total auf dem Schlauch.

    Gruß
    Ronny



    Linkback: https://www.modified-shop.org/forum/index.php?topic=10264.0

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #1 am: 26. Dezember 2010, 12:54:29
    In der dazu gehörigen categories.php:

    Code: PHP  [Auswählen]
                            for ($counter = 1; $counter <$old_level+1; $counter++) {
                                    $CatNaviEnd .= "</li>\n".str_repeat("\t", $old_level - $counter)."</ul>\n";
                                    if ($old_level - $counter> 0)
                                            $CatNaviEnd .= str_repeat("\t", ($old_level - $counter)-1);
                            }
    Gruß

    h-h-h

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #2 am: 26. Dezember 2010, 13:01:53
    Die Idee hatte ich auch schon, aber durch:

    Code: PHP  [Auswählen]
    $CatNaviEnd .= "</li>\n".str_repeat("\t", $old_level - $counter)."</ul></div>\n";
     
    kommt ein neuer Fehler hinzu, dass nun ein schließendes </div> zuviel ist. Was auch logisch ist, da sich dieses Konstrukt nur auf die komplette Navigation bezieht.

    Seltsam ...

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #3 am: 26. Dezember 2010, 13:44:37
    Teste es mal so..

    Code: PHP  [Auswählen]
        $CatNaviEnd .= "</li>\n".str_repeat("\t", $old_level - $counter)."</ul>\n";
    ersetze mit:

    Code: PHP  [Auswählen]
        $CatNaviEnd .= "</li>\n".str_repeat("\t", $old_level - $counter)."</ul>";
        if(!isset($check)){$CatNaviEnd .= "</div>\n";$check=1;}else{$CatNaviEnd .= "\n";}
    Formatierung ist Dir überlassen. ;)

    Gruß

    h-h-h

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #4 am: 26. Dezember 2010, 14:44:50
    Danke schön, das funktioniert. Aber ist ja irgendwo auch nur ein Workaround, denn spätestens,
    wenn eine neue Hauptkategorie dazukommen sollte, muss ich diese Zeile anpassen.

    Aber für's erst reicht es, damit der Quellcode valide ist.

    Ich frage mich nur, wieso andere, die hier im Forum diese horizontale Navigation benutzen, diesen Fehler nicht hatten.

    Gruß
    Ronny

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #5 am: 26. Dezember 2010, 14:52:31
    Keine validitäts Prüfungen oder die alte advanced_category von gunnART. ;)

    Sollte eigentlich mit weiteren Hauptkategorien genauso funktionieren.

    Gruß

    h-h-h

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #6 am: 20. Oktober 2011, 17:36:12
    Ich habe dieses Thema gerade über die Forensuche gefunden und frage mich gerade, ob ich das nun schon auf "gelöst" setzen kann oder nicht? :-?

    Grüße

    Torsten

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #7 am: 20. Oktober 2011, 18:41:05
    Also komplette gelöst nicht, da immer noch eine Klinke drin ist, zumindest, was die Validität angeht.

    Gruß
    Ronny

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #8 am: 20. Oktober 2011, 19:14:16
    Was für eine Klinke hast Du denn hier noch drin?

    Gruß h-h-h

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #9 am: 20. Oktober 2011, 19:34:20
    Wenn ich bei dem Beispiel mit der "7" bleibe, ist der Quellcode solange valide, wie nicht die Anzahl der Unterkategorien genau ein Vielfaches von 7 ist, also 14 oder 21. Denn sobald die Zahl 7 erreicht ist, greift ja die Abfrage. Dort müsste einfach eine Abfrage sein, ob es nun nach 7 weiter geht oder nicht.

    Das ist die Codestelle:

    Code: PHP  [Auswählen]
    if ($old_level < $level) {
      $Pre = "\n<div class=\"sub\">\n<ul>\n";
      $Pre = str_replace("\n","\n", $Pre);
      $ci = 1;
    } else {
      $Pre = "</li>\n";
      $Pre .= ($ci == 7) ? "</ul>\n<ul>\n" : '';
      $ci = ($ci >= 7) ?  1 : $ci+1;
      if ($old_level > $level) {
        for ($counter = 0; $counter < $old_level - $level; $counter++) {
          $Pre .= str_repeat("", $old_level - $counter -1)."</ul></div>\n".str_repeat("\t", $old_level - $counter- 2)."</li>\n";
        }
      }
    }

    Gruß
    Ronny

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #10 am: 20. Oktober 2011, 19:53:05
    Dafür müsstest Du die Schleife vorher einmal durchlaufen lassen um Max-Level zu bekommen.

    Gruß h-h-h

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #11 am: 21. Oktober 2011, 09:04:24
    Wäre super, wenn wir das noch in den Trunk übernehmen könnten.

    Grüße

    Torsten

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #12 am: 21. Oktober 2011, 15:10:13
    Ich frag mich gerade was dieser Thread in "Bugs oder Funktionsfehler" zu suchen hat?
    Mir scheint, dass dieses Problem durch eine Sonderumsetzung erst zum Vorschein gekommen ist.

    Gruß h-h-h

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Seltsamer Bug in der advanced_category von gunnART
    Antwort #13 am: 21. Oktober 2011, 20:23:51
    Na das war ja quasi auch genau meine Frage. ;-)

    Ich verschiebe das Thema dann mal in die "Bastelecke".

    Grüße

    Torsten
    5 Antworten
    3475 Aufrufe
    07. Februar 2014, 14:49:47 von Gradler
    0 Antworten
    306 Aufrufe
    17. Oktober 2023, 12:38:53 von lullifatz
    12 Antworten
    6956 Aufrufe
    22. April 2015, 19:11:13 von noRiddle (revilonetz)