#1 (permalink)  
Alt 07.11.2006, 16:46
Neuer Benutzer
 
Registriert seit: 09.08.2006
Beiträge: 19
Standard Fehler in der Suchfunktion

Moin Community.

Hab schon die Forum-Suche benutzt aber nichts gefunden.

Mir sind 2 Fehler in der Suchfunktion aufgefallen.

1. Wenn ich nach einem Artikel suche werden auch inkative Artikel angezeigt.

2. Wenn bei der Suche nichts gefunden wurde wird im Hauptbereich nichts angezeigt, genauso wie bei einer leeren Kategorie.

Über Tipps/Tricks würde ich mich sehr freuen.

jb
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 16.11.2006, 19:56
Neuer Benutzer
 
Registriert seit: 22.09.2005
Ort: Hamburg
Beiträge: 13
Standard Artikel mit Status Rot also inaktiv werden über Suchfunktion gefunden

Hallo Community,

wir haben das gleiche Problem. Artikel die auf Status ROT also inaktiv sind, werden dem Kunden in den Kategorien nicht angezeigt. Wenn der Kunde aber über die Suchfunktion sucht, werden auch die inaktiven Artikel angezeigt.
Uns ist das passiert, bei Artikeln bei denen wir noch keinen Preis angelegt hatten. Die Artikel waren gesperrt und sind in den Kategorien auch nicht aufgetaucht. Der Kunde hat diese Artikel aber über die Suchfunktion des Shops gefunden und diese dann für 0,00 Euro bestellt.

Danke für die Hilfe
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 16.11.2006, 20:31
xt:Commerce Support Kunde
 
Registriert seit: 13.10.2006
Beiträge: 697
Standard

Hier nicht nachvollziehbar. Artikel aktiv: Wird gefunden und auch angezeigt. Artikel inaktiv: Wird weder gefunden noch, wenn man den Link direkt zum Artikel über C&P nochmal eingibt, angezeigt.

Matt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 16.11.2006, 21:22
Neuer Benutzer
 
Registriert seit: 22.09.2005
Ort: Hamburg
Beiträge: 13
Standard

Hallo Matt,

danke für die schnelle Antwort.
Entschuldige ein kleiner Fehler - die ganze Kategorie war inaktiv, wurde also nicht angezeigt. In der Kategorie waren dann noch Artikel mit 0 Euro die aktiv waren (diese Artikel waren auch nur in dieser Kategorie). Diese Artikel konnte der Kunde über die Kategorien natürlich nicht finden, da die Kategorie inaktiv war. Hat der Kunde aber ein Suchwort eingegeben, das in der Artikelbeschreibung des Artikels vorkam, wurde der Artikel unter Suchergebnisse angezeigt.

Björn
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 17.11.2006, 01:20
xt:Commerce Support Kunde
 
Registriert seit: 13.10.2006
Beiträge: 697
Standard

Hallo Björn!

Mit einer deaktivierten Kategorie kann ich es in der Tat auch nachvollziehen. Ich würde das als Bug einstufen, ob das xtC-Team das auch so sieht, keine Ahnung.

Ein Fix ist nicht weiter schwierig, in die SQL-Abfrage muss nur die zusätzliche Überprüfung eingebaut werden, ob das Kategorie aktiv ist. Ist aber aus der Hüfte geschossen, ob das wirklich so funktioniert kann ich morgen mal testen.

Spielt sich alles in advanced_search_results.php ab.
PHP-Code:
    $from_str  "FROM ".TABLE_PRODUCTS." AS p LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) "
in
PHP-Code:
 $from_str  "FROM ".TABLE_PRODUCTS." AS p, ".TABLE_PRODUCTS_TO_CATEGORIES." as pc, ".TABLE_CATEGORIES." as c LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) "
ändern (Zeile 179), sowie
PHP-Code:
    $where_str " WHERE p.products_status = '1' "." AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check
in
PHP-Code:
$where_str " WHERE p.products_status = '1' "." AND p.products_id = pc.products_id AND pc.categories_id = c.categories_id AND c.categories_status=1 AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check
ändern.

Ist aber nur die halbe Miete, das Problem, das sich ein Produkt aufrufen läßt, obwohl es in einer deaktivierten Kategorie steht, bleibt. Kann z.B. auftreten, wenn ein Produkt in die Bookmarks gelegt wurde und später die Kategorie deaktiviert wurde.

Dazu sind Anpassungen in includes/classes/product.php notwendig.
Die in Zeile 44 beginnende $product_query
PHP-Code:
        $product_query "select * FROM ".TABLE_PRODUCTS." p,
"
.TABLE_PRODUCTS_DESCRIPTION." pd
where p.products_status = '1'
and p.products_id = '"
.$this->pID."'
and pd.products_id = p.products_id
"
.$group_check.$fsk_lock."
and pd.language_id = '"
.(int) $_SESSION['languages_id']."'"
ist zu ersetzen durch
PHP-Code:
                $product_query "select distinct p.*, pd.* FROM ".TABLE_PRODUCTS." p,
"
.TABLE_PRODUCTS_DESCRIPTION." pd,
"
.TABLE_PRODUCTS_TO_CATEGORIES." pc,
"
.TABLE_CATEGORIES." c
where p.products_status = '1'
and p.products_id = '"
.$this->pID."'
and p.products_id = pc.products_id 
and pc.categories_id = c.categories_id
and c.categories_status = 1
and pd.products_id = p.products_id
"
.$group_check.$fsk_lock."
and pd.language_id = '"
.(int) $_SESSION['languages_id']."'"
Matt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 17.11.2006, 19:59
Neuer Benutzer
 
Registriert seit: 22.09.2005
Ort: Hamburg
Beiträge: 13
Standard

Hallo Matt,

ganz vielen Dank!
Du hast mir auf jedenfall schon mal weitergeholfen... und ich bin froh das es nicht an mir liegt.

Schönes Wochende
Gruß
Björn
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 19.11.2006, 20:09
Neuer Benutzer
 
Registriert seit: 17.09.2006
Beiträge: 18
Standard

Funktioniert aber leider nicht. Zumindest nicht bei mir...
Allein schon die Änderungen in der advanced_search_result.php führen zu folgender Fehlermeldung:

Code:
1054 - Unknown column 'p.products_id' in 'on clause'

SELECT distinct p.products_id, p.products_price, p.products_model, p.products_quantity, p.products_shippingtime, p.products_fsk18, p.products_image, p.products_weight, p.products_tax_class_id, pd.products_name, pd.products_short_description, pd.products_description FROM products AS p, products_to_categories as pc, categories as c LEFT JOIN products_description AS pd ON (p.products_id = pd.products_id) LEFT OUTER JOIN products_attributes AS pa ON (p.products_id = pa.products_id) LEFT OUTER JOIN products_options_values AS pov ON (pa.options_values_id = pov.products_options_values_id) LEFT OUTER JOIN specials AS s ON (p.products_id = s.products_id) AND s.status = '1' WHERE p.products_status = '1' AND p.products_id = pc.products_id AND pc.categories_id = c.categories_id AND c.categories_status=1 AND pd.language_id = '2' AND ( ( pd.products_keywords LIKE ('%rot%') OR pd.products_description LIKE ('%rot%') OR pd.products_short_description LIKE ('%rot%') OR pd.products_name LIKE ('%rot%') OR p.products_model LIKE ('%rot%') OR (pov.products_options_values_name LIKE ('%rot%') AND pov.language_id = '2') ) ) GROUP BY p.products_id ORDER BY p.products_id

[XT SQL Error]
Kannst du dir da was zusammenreimen?!
Wär prima, ich hab nämlich genau das gleiche Problem...


---------------------------------------------------------------------------------

Und noch was neues zum Thema "Fehler in der Suchfunktion" damit ich nicht extra nen neuen Thread aufmachen muss:

Wenn ich bei der QuickSearch an der Seite ohne Eingabe einfach auf Suchen, also auf die Lupe, klicke, dann werden alle Artikel meines Shops aufgelistet. Wie kann ich das verhindern, ohne z.B. eine Javascript-Überprüfung einbauen zu müssen?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 19.11.2006, 20:28
xt:Commerce Support Kunde
 
Registriert seit: 13.10.2006
Beiträge: 697
Standard

Zitat:
Zitat von toby86

Code:
1054 - Unknown column 'p.products_id' in 'on clause'
Nicht nachvollziehbar. Wenn ich das SQL nehme, das du gepostet hast und es über phpMyAdmin ausführe, erhalte ich entsprechend Treffer zurückgeliefert.

Zitat:
Und noch was neues zum Thema "Fehler in der Suchfunktion" damit ich nicht extra nen neuen Thread aufmachen muss:

Wenn ich bei der QuickSearch an der Seite ohne Eingabe einfach auf Suchen, also auf die Lupe, klicke, dann werden alle Artikel meines Shops aufgelistet. Wie kann ich das verhindern, ohne z.B. eine Javascript-Überprüfung einbauen zu müssen?
Du kannst in Zeile 38
PHP-Code:
    $keyerror 1
durch
PHP-Code:
    $error 1
ersetzen.

Es wird zwar aktuell überprüft, ob keywords leer ist, aber es wird mit dem Ergebnis nichts gemacht...

Matt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 19.11.2006, 20:56
Neuer Benutzer
 
Registriert seit: 17.09.2006
Beiträge: 18
Standard

Zitat:
Zitat von wibros
Du kannst in Zeile 38
PHP-Code:
    $keyerror 1
durch
PHP-Code:
    $error 1
ersetzen.

Es wird zwar aktuell überprüft, ob keywords leer ist, aber es wird mit dem Ergebnis nichts gemacht...

Matt
Super! Danke für die schnelle Antwort!


Zitat:
Zitat von wibros
Nicht nachvollziehbar. Wenn ich das SQL nehme, das du gepostet hast und es über phpMyAdmin ausführe, erhalte ich entsprechend Treffer zurückgeliefert.
Was hast du denn für ne xtC-Version laufen?
Ich setze, laut den Credits xt:Commerce v3.0.4 SP2 Release Datum: 1 Okt 2005 ein.
An was könnte es sonst liegen? Hab deinen Code direkt bei mir in die advanced_search_result.php reinkopiert, alten String auskommentiert und deinen daruntergesetzt. Komisch....
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 19.11.2006, 22:18
xt:Commerce Support Kunde
 
Registriert seit: 13.10.2006
Beiträge: 697
Standard

Zitat:
Zitat von toby86
Was hast du denn für ne xtC-Version laufen?
Ich setze, laut den Credits xt:Commerce v3.0.4 SP2 Release Datum: 1 Okt 2005 ein.
Ich hab hier v3.0.4 SP2.1 vom 20.08.2006, die Query läuft aber auch bei einer 3.0.3-Installation problemlos durch.

Zitat:
An was könnte es sonst liegen? Hab deinen Code direkt bei mir in die advanced_search_result.php reinkopiert, alten String auskommentiert und deinen daruntergesetzt. Komisch....
Änderungen am Query-String betreffen eigentlich nur die Einbindung der Kategorie, mit p.products_id wird auch schon im originalen Code gearbeitet. Von daher verblüfft mich die Fehlermeldung umso mehr.

Matt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
fehler, suchfunktion

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand