Seite 1 von 1

möglicher Bug in Contenido-Suche ?

Verfasst: Mi 21. Nov 2007, 09:51
von MADman
Hallo,

ich hatte gestern das Problem, das die Suchfunktion in Contenido manche Kategorien in meinem Baum nicht durchsucht, obwohl sie public und visible sind und unterhalb der angegebenen Startkategorie liegen.
Und das auch obwohl in der con_keywords Tabelle korrekte Verweise zu den Suchbegriffen auf die Artikel vorhanden sind.

Nach langer Suche habe ich festgestellt, daß manche Kategorien nicht in der Aufzählung aller zu durchsuchenden Kategorien auftauchen, die Funktion die alle verfügbaren Kategorien für die Suche ermittelt also manche Kategorien einfach ignoriert.

In der Datei class.search.php fand ich dann in der Funktion getSubTree folgende Anweisung:

Code: Alles auswählen

if ($this->db->f('parentid') < $cat_start) // ending part of tree
{        
          $i = false;
}
Bei der Überprüfung der Tabellen im Vorfeld war mir in der Tabelle con_cat aufgefallen, daß es bei uns in einigen Kategorien die parentid größer ist als die idcat (da alte Teile unseres Baumes nachträglich in eine neuere Kategorie verschoben wurden). Daher hatte ich den Verdacht, daß diese Anweisung evtl nicht richtig arbeitet.

Ich habe sie dann bei uns so geändert, daß sie mit einer weiteren Anfrage an con_cat überprüft, ob es eine parentid mit dem Wert der übergebenen Startkategorie gibt. Wenn nicht, dann gibt es keine Subkategorien mehr und der Baum ist dort zuende. Das habe ich dann anstelle der obenstehenden Anweisung eingebaut.
Jetzt funktioniert die Suche bei uns wieder so wie sie soll. Da ich mich aber nicht so auskenne bin ich mir nicht sicher, ob das wirklich ein Bug ist oder ob ich die Arbeitsweise der Suche einfach nur falsch verstehe.

Fakt ist, vorher war die Suche bei uns unvollständig, jetzt geht alles so wie es soll ;)

Für Feedback wäre ich dankbar, besonders falls meine Analyse fehlerhaft ist :)

Verfasst: Mi 21. Nov 2007, 09:56
von emergence
nein, das verstehst du richtig...ist ein bug...
die methode ist fehlerhaft...

korrektes handling siehe conDeeperCategoriesArray

Verfasst: Mi 21. Nov 2007, 10:02
von derSteffen
Hallo MADman,

welche Contenido-Version nutzt du denn? Keine aktuelle, oder?

Verfasst: Mi 21. Nov 2007, 10:20
von MADman
Danke, ich habe meine Lösung durch die Logik ersetzt die Du in conDeeperCategoriesArray verwendet hast.

Funktioniert prima und ist performanter als meine :)

Ich nutze übrigens Version 4.6.15

Verfasst: Mi 21. Nov 2007, 10:38
von derSteffen
die 4.6.15 ist ja ein Ding!

Ich dachte das wurde in dieser Version schon mir reingenommen? Na dann werde ich das auch noch ändern müssen.

Danke für den Hinweis

Suchfunktion geht bei mir auch nicht

Verfasst: Di 27. Nov 2007, 13:07
von dops_ab
Kann mir jemand zu diesem Problem und der geposteten Lösung eine zusätzliche Anleitung liefern? Ich habe das gleiche Problem und weiß leider nicht, wie ihr den Fehler behoben habt.
Vielen Dank
Jochen