Fehler in Suchfunktion auch mit FP10

  • Bis FP9 hatte ich viele Besucher auf Error404. Per Zufall stellte ich fest, dass dies kommt wenn man hinter dem Suchwort ein Leerzeichen hat.
    Mit FP10 kommt nun nicht einmal mehr das, sondern

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web67/html/akkushopneu/commerce_seo_url.php on line 40

  • Versucht mal in der advanced_search_result.php folgendes einzubauen:

    nach $error = 0 // Zeile 23

    $_GET['keywords'] = trim($_GET['keywords']);

    hat bei unserer Testinstallation jedenfalls geklappt.

    Gruß Tom

  • Versucht mal in der advanced_search_result.php folgendes einzubauen:

    nach $error = 0 // Zeile 23

    $_GET['keywords'] = trim($_GET['keywords']);

    hat bei unserer Testinstallation jedenfalls geklappt.

    Gruß Tom



    hi, habe dein vorschlag eingebaut und es funktioniert. vielen dank!

  • Hallo,

    bei mir ist das Problem leider noch nicht beseitigt. Habe seit der Installation des FP10 jeweils einen 404 durch die manufacturer box sowie durch die search box, was beim FP9 noch nicht war.

    Kann das was mit den neuen commerce:seo-urls zu tun haben? Hatte die vorher aufgrunddessen, dass mod_rewrite nicht aktiviert war, schon nicht drin.

  • Hallo y.u.r.i.c,

    Hier ging es nur darum, das der 404 auftaucht wenn ein leerzeichen am anfang oder ende des keywords steht.
    Bekommst du immer eine 404 bei der searchbox oder manufacturer box?
    Falls bei Dir mod_rewrite deaktiviert ist, musst du in der herstellerbox die links ändern sie sind hard codiert.

  • Hallo kindmedia,

    bekomme immer ne 404-Meldung bei beiden Boxen. Habe schon bemerkt, dass die Url's anders sind als bei den alten :(

    Jedoch weiß ich jetzt nicht wie sehr die neue url-php-datei mit anderen Dateien des FP10 verzahnt ist, ansonsten würde ich einfach mal die alte wieder reinsetzen und schauen was passiert.

    Btw: mod_rewrite ist deaktiviert, obwohl es in meinem Paket von domaingo enthalten sein sollte -.-

  • für die Herstellerbox hätte ich folgende Lösung:

    in der Datei /templates/cseo-css-v2/source/boxes/manufacturers.php

    folgendes suchen:
    $manufacturers_list .= '<a href="manufacturer-'.$manufacturers['manufacturers_id'].'/'.cseo_get_url_friendly_text($manufacturers_name).'">'.$manufacturers_name.'</a><br />';

    ersetzen mit:
    if(SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
    $manufacturers_list .= '<a href="manufacturer-'.$manufacturers['manufacturers_id'].'/'.cseo_get_url_friendly_text($manufacturers_name).'">'.$manufacturers_name.'</a><br />';
    } else {
    $manufacturers_list .= '<a href="'.xtc_href_link(FILENAME_DEFAULT, 'manufacturers_id='.$manufacturers['manufacturers_id']).'">'.$manufacturers_name.'</a><br>';
    }

    weiter unten dies suchen:
    $dropdown .= '<option value="manufacturer-'.$manufacturers['manufacturers_id'].'/'.$name_val.'">'.$name_raw.'</option>';

    ersetzen mit:
    if(SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
    $dropdown .= '<option value="manufacturer-'.$manufacturers['manufacturers_id'].'/'.$name_val.'">'.$name_raw.'</option>';
    } else {
    $dropdown .= '<option value="index.php?manufacturers_id='.$manufacturers['manufacturers_id'].'">'.$name_raw.'</option>';
    }

    das müsste das Problem bei der Herstellbox lösen.

    bei der Searchbox kann ich das so ohne Link, nicht nachvollziehen.

    Gruß Tom

  • Der Fehler ist auch damit nicht beseitigt

    $_GET['keywords'] = trim($_GET['keywords']); mit trim wird ledgilich whitespace getrimmt aber keine ß oder Anführungszeichen richtig umgewandelt.

    Wenn ich z.B weiß eingebe oder 24" kommt Fehler 404

    Das Problem besteht schon immer bei der V2 und selbst im FP10 noch nicht gelöst.

    Also commerce seo url´s abschalten dann geht´s........ OHNE WORTE

    Einmal editiert, zuletzt von mbdesign (1. März 2011 um 01:08)

  • @ y.u.r.i.c,
    Suche mal in der advanced_search_result.php folgende Zeile (zeile 25):
    if(isset($_GET['n']) && ($_GET['n'] == '1') && !empty($_GET['keywords']))

    und ersetze es mit :
    if(isset($_GET['n']) && ($_GET['n'] == '1') && !empty($_GET['keywords']) && MODULE_COMMERCE_SEO_INDEX_STATUS == 'True')

    dann dürfte bei die Suche ohne mod_rewrite funktionieren

    @ mbdesign
    danke für die Info, wenn ich Zeit habe schaue ich mir das mal genauer an.

    edit:
    damit funktioniert zwar keine Seo Url mehr für die Suche mehr, aber si funktioniert.

    in der /templates/cseo-css-v2/source/boxes/search.php folgendes suchen (Zeile24):
    $box_smarty->assign('FORM_ACTION', xtc_draw_form('quick_find', xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', $request_type, false), 'get')."\n".xtc_hide_session_id()."\n".xtc_draw_hidden_field('n','1')."\n");

    ersetzen mit:
    $box_smarty->assign('FORM_ACTION', xtc_draw_form('quick_find', xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', $request_type, false), 'get')."\n".xtc_hide_session_id()."\n");

    in der includes/modules/error_handler.php folgendes suchen (Zeile25):
    $module_smarty->assign('FORM_ACTION',xtc_draw_form('new_find', xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get').xtc_hide_session_id().xtc_draw_hidden_field('n',''));

    ersetzen mit:
    $module_smarty->assign('FORM_ACTION',xtc_draw_form('new_find', xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', 'NONSSL', false), 'get').xtc_hide_session_id());

    ich hoffe das lößt das Preblem erstmal.


    Gruß Tom

    Einmal editiert, zuletzt von kindmedia (1. März 2011 um 10:44)

  • Melde mich nur ungern zurück, jedoch ist das Problem wieder da ...

    Die Shopsoftware scheint bei den Herstellerlisten, sobald mehr als eine Seite vorhanden ist, die Links nicht mehr ordentlich aufzulösen.
    Ich habe jetzt die SEO-Url's aktiviert, was auch eine Zeit lang einwandfrei funktioniert hat, nur nach dem Einspielen, der ganzen Fixes (bin jetzt bei Fix 11), die in letzter Zeit erschienen sind, ist mir das heute aufgefallen.

    Ich habe jetzt schon etwas hin und herporbiert aber ich komme auf keine Lösung, da die ID oder der Name einfach nicht korrekt übergeben wird und als Link immer nur http://domain.de/?page=2 steht