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;
}
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