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: Hervorheben von Suchbegriffen (search highlight)

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Guten Abend,
    ich habe ein kleines Modul für Euch entwickelt. Im Titel wird schon deutlich, worum es geht.

    Das Hervorheben im Adminbereich unter Erweiterte Konfiguration -> Such-Optionen anschalten/ausschalten und mit CSS grafisch anpassen.
      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Installation in 3 Schritten

    [li]1. Admintexte definieren (lang/german/admin/configuration.php)[/li]

    Suche:

    Code: PHP  [Auswählen]
    define('SEARCH_IN_ATTR_DESC','Aktivieren um die Suche in den Produktattributen (z.B. Farbe, Länge) zu ermöglichen');
     
    Danach einfügen:

    Code: PHP  [Auswählen]
    define('SEARCH_HIGHLIGHT_TITLE','Hervorheben von Suchbegriffen');
    define('SEARCH_HIGHLIGHT_DESC','Aktivieren um Suchebegriffe in den Ergebnissen hervorzuheben');
    define('SEARCH_HIGHLIGHT_STYLE_TITLE','Gestaltung der Hervorhebungen');
    define('SEARCH_HIGHLIGHT_STYLE_DESC','CSS für die Suchergebnis-Hervorhebung (z.B. Schriftfarbe, Hintergrundfarbe, Rahmen, etc.)');
     
    [li]
    2. Schleifen für die Suchwort-Hervorhebung einbauen (includes/modules/product_listing.php)[/li]

    Suche:

    Code: PHP  [Auswählen]
                    $module_content[] =  $product->buildDataArray($listing);
            }
     
    Danach einfügen:

    Code: PHP  [Auswählen]
    // BOF - h-h-h - 2010-11-05 highlight search
    if (SEARCH_HIGHLIGHT == 'true')
      {
            $keywords = explode( ' ', $_GET['keywords']);
            for ($i=0; $i<count($module_content); $i++)
            {
                    for ($k=0; $k<count($keywords); $k++)
                    {
                    $module_content[$i][PRODUCTS_NAME] = str_ireplace($keywords[$k], '<span style="'.SEARCH_HIGHLIGHT_STYLE.'">'.$keywords[$k].'</span>', $module_content[$i][PRODUCTS_NAME]);
                    $module_content[$i][PRODUCTS_SHORT_DESCRIPTION] = str_ireplace($keywords[$k], '<span style="'.SEARCH_HIGHLIGHT_STYLE.'">'.$keywords[$k].'</span>', $module_content[$i][PRODUCTS_SHORT_DESCRIPTION]);
                    }
            }
      }
    // EOF - h-h-h - 2010-11-05 highlight search
     
    [li]
    3. MySQL-Datenbank erweitern[/li]

    Code: SQL  [Auswählen]
    INSERT INTO configuration
    VALUES
    ('', 'SEARCH_HIGHLIGHT', 'true', 22, 4, '', NOW(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),'),
    ('', 'SEARCH_HIGHLIGHT_STYLE', 'color:#000;background-color:#eee;border:dotted #000 1px;', 22, 5, NULL, '0000-00-00 00:00:00', NULL, NULL);
     
    Viel Spaß

    h-h-h

    [EDIT Tomcraft 21.12.2010: Fehler im SQL-Statement korrigiert.]
    [EDIT h-h-h 03.03.2011: str_replace() mit str_ireplace() ersetzt damit Groß- und Kleinschreibung nicht beachtet wird (benötigt PHP5).]



    Linkback: https://www.modified-shop.org/forum/index.php?topic=9131.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #1 am: 07. November 2010, 23:13:40
    Na das ist ja mal eine schöne Überraschung! Ein wirklich sinnvolles Modul, vielen Dank dafür! :thx:

    Das nehme ich direkt mal auf die Roadmap auf, denn ich kann mir vorstellen, dass wir das in einer der nächsten Versionen wieder finden werden! :B

    Grüße

    Torsten

    gero01

    • Mitglied
    • Beiträge: 239
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #2 am: 20. Dezember 2010, 18:22:49
    Hi h-h-h,

    Deine Datenbank-Erweiterung meckert !
    Habe jungfräuliche Datenbank modified eCommerce Shopsoftware 1.05 wiederholt eingespielt.
    Fehler:
    Zitat
    #1062 - Duplicate entry '266' for key 1
    Die DB hat als "Anfänger" in der configuration schon 278 Zeilen.
    bestätige bitte nachfolgende Änderungen!

    Code: SQL  [Auswählen]
    INSERT INTO configuration
    VALUES
    (279, 'SEARCH_HIGHLIGHT', 'true', 22, 4, NULL, '0000-00-00 00:00:00', NULL, 'xtc_cfg_select_option(array(''true'', ''false'')'),
    (280, 'SEARCH_HIGHLIGHT_STYLE', 'color:#000;background-color:#eee;border:dotted #000 1px;', 22, 5, NULL, '0000-00-00 00:00:00', NULL, NULL);
     
    Gerd

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #3 am: 20. Dezember 2010, 19:32:32
    Du kannst die ID vorne auch einfach ganz frei lassen, dann wird die nächste freie benutzt, also so:

    Code: SQL  [Auswählen]
    INSERT INTO configuration
    VALUES
    ('', 'SEARCH_HIGHLIGHT', 'true', 22, 4, NULL, '0000-00-00 00:00:00', NULL, 'xtc_cfg_select_option(array(''true'', ''false'')'),
    ('', 'SEARCH_HIGHLIGHT_STYLE', 'color:#000;background-color:#eee;border:dotted #000 1px;', 22, 5, NULL, '0000-00-00 00:00:00', NULL, NULL);
     
    Grüße

    Torsten

    Parry

    • Fördermitglied
    • Beiträge: 423
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #4 am: 20. Dezember 2010, 23:52:20
    Danke für die Erweiterung! Wollte sie eben mal testen und bekomme jedoch folgenden Fehler.
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /xxx/xxx/xxx/xxx/admin/configuration.php(268) : eval()'d code on line 1Hab ja schon so einige Fehler gesehen, aber hier komme ich gerade nicht weiter. :(

    PS: Die xxx hab ich eingesetzt.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #5 am: 20. Dezember 2010, 23:56:52
    Poste bitte mal den Inhalt deiner "/admin/configuration.php".

    Grüße

    Torsten

    Parry

    • Fördermitglied
    • Beiträge: 423
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #6 am: 21. Dezember 2010, 00:39:38
    Hier :)

    Code: PHP  [Auswählen]
    <?php
    /* --------------------------------------------------------------
       $Id: configuration.php 229 2007-03-06 19:46:21Z mzanier $
    .........
    ...unwichtig

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #7 am: 21. Dezember 2010, 00:50:27
    Nee, stop mal... hast du nachträglich im Admin-Bereich etwas anderes bei "Gestaltung der Hervorhebungen" eingegeben? Da ist der Fehler zu suchen.

    Grüße

    Torsten

    franky_n

    • Experte
    • Beiträge: 4.950
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #8 am: 21. Dezember 2010, 01:14:55
    Hallo Zusammen,

    ich denke das dieses hier falsch ist:

    Code: SQL  [Auswählen]
    xtc_cfg_select_option(array(''TRUE'', ''FALSE'')
     
    doppelte Hochkommas...
    Ich denke das soll ein \ gefolgt von einem ' sein für alle 4 dopppelten Hochkommas...
    Könnte sein, dass das Forum den Post verändert hat.

    Viele Grüße

    Franky

    h-h-h

    • modified Team
    • Beiträge: 4.562
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #9 am: 21. Dezember 2010, 07:48:29
    Hab ich einen Fehler gemacht?
    Ist doch alles getestet gewesen.

    Gruß h-h-h

    Parry

    • Fördermitglied
    • Beiträge: 423
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #10 am: 21. Dezember 2010, 11:31:00
    @ Tom

    Nein, da steht nur das drin, was von Anfang an drin stand. Hab auch mal nur color:#fffff; eingetragen und trotzdem bleibt der Fehler bestehen.

    @Franky

    Wo siehst du denn die doppelten Hochkommas? Bin ich zu doof?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #11 am: 21. Dezember 2010, 12:42:23
    Hallo Zusammen,

    ich denke das dieses hier falsch ist:

    Code: SQL  [Auswählen]
    xtc_cfg_select_option(array(''TRUE'', ''FALSE'')
     
    doppelte Hochkommas...
    Ich denke das soll ein \ gefolgt von einem ' sein für alle 4 dopppelten Hochkommas...
    Könnte sein, dass das Forum den Post verändert hat.

    Viele Grüße

    Franky

    Du meinst so:

    Code: SQL  [Auswählen]
    xtc_cfg_select_option(array(\'true\', \'false\')
    Geht doch... liegt nicht am Forum. :D

    P.S.: Ich habe die Anleitung in Beitrag 1 mal gefixt.

    Grüße

    Torsten

    Parry

    • Fördermitglied
    • Beiträge: 423
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #12 am: 21. Dezember 2010, 14:52:10
    Danke, jetzt funktioniert es. Das Modul macht aber bei den Bildern Probleme. Hab da "title" bzw. "alt" Beschreibungen hinzugefügt, die jetzt auch sichtbar und markiert werden (siehe Screenshot).

    Das Modul scheint auch mit der Groß- und Kleinschreibung Probleme zu haben. Wenn ich nach "ball" suche, wird "Ball" nicht markiert/hervorgehoben. Vielleicht ist die absichtlich so gemacht, aber das ist mir halt noch aufgefallen. :)

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    h-h-h

    • modified Team
    • Beiträge: 4.562
    MODUL: Hervorheben von Suchbegriffen (search highlight)
    Antwort #13 am: 03. März 2011, 00:57:19
    Hi Parry!

    Wenn Dein Server mit PHP5 läuft,
    kannst Du str_replace mit str_ireplace ersetzen.
    Dann ist es egal, ob die Suchbegriffe groß- oder kleingeschrieben sind.

    Gruß

    h-h-h

    [EDIT h-h-h 03.03.2011: Anleitung in Beitrag 1 ergänzt.]

    47 Antworten
    32952 Aufrufe
    07. Juli 2013, 11:39:43 von emin
    31 Antworten
    12387 Aufrufe
    06. Juni 2011, 21:23:07 von Tomcraft
    0 Antworten
    1595 Aufrufe
    21. Dezember 2013, 20:22:33 von Q
    7 Antworten
    2843 Aufrufe
    01. Juni 2015, 10:04:41 von Ravinhinz