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: MODUL: Suchbegriff / Keyword Statistik für modified eCommerce Shopsoftware

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    Funktioniert perfekt und ist sicherlich eine große Hilfe beim Optimieren des Webshops. ;-)

    Da Sandro

    • Fördermitglied
    • Beiträge: 832
    • Geschlecht:
    goil, läuft wie Sau. :)
    Dankeschön!!!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
     :morning:

    Kleine Verbesserung für das Modul.
    Da der Admin zur Kontrolle welche Suchergebnisse bei bestimmten Suchworten gefunden werden, auf die Keywords klicken kann, sollten diese Klicks nicht mitgezählt werden,
    wie auch überhaupt Suchen im Arbeitsbetrieb durch Admins nicht mitgezählt werden sollten.

    Deshalb den Code für /advanced_search_result.php ändern in:
    Code: PHP  [Auswählen]
      //BOC search keywords statistics, excluded admin in count, noRiddle  
            //Take search keywords into statistics #####
            $report_search_keywords = strtolower(addslashes($_GET['keywords']));
            $report_last_search = date("Y-m-d H:i:s");
            //verify whether keyword combination is already in data base #####
            $sql_query = "SELECT search_id, search_text FROM search_keywords WHERE search_text='".$report_search_keywords."'";
            $keywords_query=xtc_db_query($sql_query);
            //if keywords exist than only UPDATE otherwise INSERT INTO
        if ($_SESSION['customers_status']['customers_status_id'] != '0') {
            if (xtc_db_num_rows($keywords_query)) {
                xtc_db_query("UPDATE search_keywords SET hits=hits+1, last_search='".$report_last_search."' WHERE search_text='".$report_search_keywords."'");
            } else {
            //keywords not found in database
            xtc_db_query("insert into search_keywords (search_text, search_result, hits, last_search) values ('" .$report_search_keywords . "','" . $search_result . "','1','" . $report_last_search . "')");      
            }
        }
       //EOC search keywords statistics, excluded admin in count, noRiddle

    Viel Freude,
    noRiddle

    olli1it

    • Mitglied
    • Beiträge: 112
    hallo würde das modul gerne in meinen deutsch / italienischen hop einbauen, reicht es dazu die datei aus dem lang ornder zu übersetzten und in die italieniche sprach zu kopieren?

    danke olli

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Hi olli1it.

    Die Erweiterung speichert alle Keywords, egal in welcher Sprache die eingegeben werden.
    Oder willst du den Admin-Bereich in italiano haben ?
    In dem Fall müsstest du ohnehin mindestens alle Dateien in /lang/admin übersetzen.

    Die Keywords getrennt nach Sprache zu speichern und in die Statistik aufzunehmen dürfte daran scheitern, daß Programmcode nicht denken kann und man nicht programmieren kann die Sprache eines Keywords zu erkennen (ja ich weiß, mit Riesen-Aufwand geht alles...).
    Du könntest die Erfassung höchstens davon abhängig machen welche Sprache der Besucher gerade gewählt hat. Stichwort $_SESSION['language'] .

    Gruß,
    noRiddle

    olli1it

    • Mitglied
    • Beiträge: 112
    Hallo NoRiddle

    Danke für die Antwort, das reicht mir vollkommen. Da ich die Italienischen und Deutschen Keyword leicht trennen kann, bzw wir ca. 95% italienische Kunden haben. Backend kann ruhig Deutsch bleiben. Bin aber z.Zt dabei das Sprachpackte zu übersetzen sobald ich es fertig habe setzte ich es hier online.

    Danke Olli

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    .. Bin aber z.Zt dabei das Sprachpackte zu übersetzen sobald ich es fertig habe setzte ich es hier online.

    Da würden sich bestimmt einige drüber freuen, mach das mal.

    Cordiali saluti,
    noRiddle

    sportstourer

    • Fördermitglied
    • Beiträge: 172
    • Geschlecht:
    Hallo,

    ich war soeben im Begriff dieses Statistikmodul einzufügen. Die beiden neuen Dateien sind ja genauso wie die Änderung in den entsprechenden Dateien kein Problem.

    Ich bekomme folgenden Fehler in MYSQL beim einfügen des neuen Befehls (siehe Bild)! Oder liegt der Fehler darin, das ich die Änderungen in den Dateien noch nicht ausführte und nach dem hochladen der 2 Dateien gleich den Datenbankbefehl ausführte?

    Mit freundlichem Danke und Gruß
    Michael

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Wie lautet der Fehler denn ?
    Im Screenshot sieht man keine Fehlermeldung.
    Nimm' vielleicht mal die Backticks weg, also so:
    Code: SQL  [Auswählen]
    CREATE TABLE search_keywords (
      search_id INT(11) NOT NULL AUTO_INCREMENT,
      search_text VARCHAR(255) NOT NULL DEFAULT '',
      search_result INT(11) NOT NULL DEFAULT '0',
      hits INT(6) NOT NULL DEFAULT '0',
      last_search datetime DEFAULT NULL,
      PRIMARY KEY  (search_id)
    ) TYPE=MyISAM AUTO_INCREMENT=1 ;

    Außerdem würde ich empfehlen meine o.g. erweiterung zu implementieren damit Suchen durch eingeloggte Admins nicht mitgezählt werden.

    Gruß,
    noRiddle

    falcon78

    • Fördermitglied
    • Beiträge: 87
    • Geschlecht:
    Folgende Situation: wir haben eine fixe IP-Adresse in der Firma. Alle Mitarbeiter arbeiten sehr viel mit dem Shop und benutzen daher auch die Suche den ganzen Tag. Um eine saubere Auswertung zu erhalten wäre es daher super wenn man eine IP Adresse von der Statistik ausschliessen könnte, wäre das machbar?

    Danke schon mal.
    Gruss
    Falcon78

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Zitat
    in /advanced_search_result.php NACH dieser Zeile:
    Code: PHP  [Auswählen]
            require (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);

    diesen Abschnitt einfügen:

    Code: PHP  [Auswählen]
       // BOF Such Statistiken
           
            //Suchbegriffe in die Statistik nehmen ######################################################################
            $report_search_keywords = strtolower(addslashes($_GET['keywords']));
            $report_last_search = date("Y-m-d H:i:s");
            //prüfen ob Suchbegriffkombination bereits in der Datenbank existiert
            $sql_query = "SELECT search_id, search_text FROM search_keywords WHERE search_text='".$report_search_keywords."'";
            $keywords_query=xtc_db_query($sql_query);
            // wenn keywords existieren dann nur UPDATE sonst INSERT INTO
            if (xtc_db_num_rows($keywords_query)) {
                    xtc_db_query("UPDATE search_keywords SET hits=hits+1, last_search='".$report_last_search."' WHERE search_text='".$report_search_keywords."'");
            } else {
                    // keywords not found in database
                    xtc_db_query("insert into search_keywords (search_text, search_result, hits, last_search) values ('" .$report_search_keywords . "','" . $search_result . "','1','" . $report_last_search . "')");      
            }

       // EOF Such Statistiken
    Einfach um den genannten Abschnitt folgendes einfügen:
    Code: PHP  [Auswählen]
    if ($_SERVER['REMOTE_ADDR'] != '4.3.2.1') {
    ...
    }

    Besten Gruß

    h-h-h

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    @falcon78

    Ändert sich deine IP niemals ?

    Ich würde es so machen und die Mitarbeitern dürfen die Suche nur benutzen wenn sie eingeloggt sind.
    Code: PHP  [Auswählen]
    //if keywords exist than only UPDATE otherwise INSERT INTO, added don't count ADMIN
        if ($_SESSION['customers_status']['customers_status_id'] != '0') {
            if (xtc_db_num_rows($keywords_query)) {
                xtc_db_query("UPDATE search_keywords SET hits=hits+1, last_search='".$report_last_search."' WHERE search_text='".$report_search_keywords."'");
            } else {
            //keywords not found in database
            xtc_db_query("insert into search_keywords (search_text, search_result, hits, last_search) values ('" .$report_search_keywords . "','" . $search_result . "','1','" . $report_last_search . "')");      
            }
        }
    //EOC search keywords statistics, noRiddle

    Gruß,
    noRiddle

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Hi noRiddle,
    also unter "fixe IP" verstehe ich eine Standleitung mit statischer IP. =)

    with best regards

    Hacker Solutions

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Oh nooooo !!!
    Wenn ich denn den Satz auch gelesen hätte....
    Zitat
    ...wir haben eine fixe IP-Adresse in der Firma

    Hab' doch heute erst ein Bier... :-D

    Gruß,
    noRiddle

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Mit Google Analytics geht das auch ohne dieses Modul.
    Im Profil muss dazu nur "Site Search" konfiguriert werden.

    Suchparameter: keywords