Modul Feature-Suche

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Antworten
mkd
ConPresso-Checker
Beiträge: 114
Registriert: 01.01.1970 01:00
Hat sich bedankt: 1 Mal

Beitrag von mkd »

Ralf hat geschrieben: (evtl. kann ja MarkusR, diesen Code noch mit aufnehmen? - wenn du es erlaubst??)
von mir aus, habe ja schließlich nur seinen code etwas erweitert

Nur sollte den bei der Prüfung ob das Bild da ist oder nicht noch was geändert werden, bzw der platzhalter so gemacht werden das wenn kein bild wie bei mir nix.gif genommen wird oder der ganze platzhalter samt img tag entfernt wird.
Ralf
ConPresso-Checker
Beiträge: 205
Registriert: 25.08.2005 10:58
Hat sich bedankt: 65 Mal
Danksagung erhalten: 14 Mal

Beitrag von Ralf »

mkd hat geschrieben:Nur sollte den bei der Prüfung ob das Bild da ist oder nicht noch was geändert werden, bzw der platzhalter so gemacht werden das wenn kein bild wie bei mir nix.gif genommen wird oder der ganze platzhalter samt img tag entfernt wird.
Ja stimmt, das wäre noch praktischer.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Neues von der Feature-Suche...

es war mal Zeit das Teil durchzuarbeiten. Das führte dazu, daß das Modul jetzt mehr kann und nur nuch 2/3 so groß ist wie vorher.

Nochmal zum Anwendungsgebiet:
Suche nach bestimmten Eigenschaften (Texten/Werten) in exakt definierten Feldern, also z.B. ein Nachname in einem Platzhalter "Nachname", dabei Sortierung nach beliebigen Feldern und auch Aufruf über URLs

Anwendungen:
  • Produktlisten
  • Mitgliederlisten
  • Veranstaltungslisten
  • Publikationslisten
  • KFZ-Angebote
  • Immobilienangebote
  • etc.
die sich durchsuchen, beliebig sortieren und als vordefinierte Suche per URL aufrufen lassen.

Neue Features:
  • Jetzt durchsucht das Modul neben den Platzhaltern auch die Metadaten des Artikels (Titel, Autor, etc.). Dafür gibt es einen neuen Parameter sv (search value) als Ergänzung zu sf (search field).
  • Bisher war nur eine AND-Suche möglich. Diese ist nun auch als OR (default) möglich.
  • Außerdem werden jetzt in den Ergebnislisten Image- und File-Inhalte als zugehöriger Dateiname ausgegeben. Deren Einsatz ist allerdings nur sinnvoll, wenn es sich um vollständige Listen handelt, ansonsten entstehen unschöne "Leerbilder", weil es keine bedingte Ausgabe gibt.
Ich habe versucht alles nochmal in einem Manual klar zu beschreiben:
http://manual.conpresso4.de/feature_sea ... cation.htm

Das Modul gibt es zum Download per Mail unter
http://www.conpresso4.de/_reg_downloads ... =Downloads

Eine Testlizenz gibt es wie immer unter
http://www.conpresso4.de/_testlicense/i ... Testlizenz
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Ich habe gleich zwei Fragen:

Dass in http://community.conpresso.de/viewtopic ... 6186#16186 und http://community.conpresso.de/viewtopic ... 6410#16410 der Wert von "name" bzw. "id" des select-Tags "sp1" ist, dagegen auf der Manual-Seite http://manual.conpresso4.de/feature_sea ... cation.htm "p4", also ohne "s", das hat sicher nur historische Gründe? Oder muss der Wert mit "s" verwendet werden, wenn "sf#" leer bleibt, also eine Suche über mehrere Felder gleichzeitig stattfinden soll (s.unten)?

Desweiteren bin ich mir unsicher, ob ich das Goodie in http://community.conpresso.de/viewtopic ... 6410#16410 bzw. folgende Ausführung auf der Manualseite nicht so recht verstehe:
Wird das Suchfeld als Select-Feld ausgeführt, kann der bei der Suche eingestellte Begriff als "selected" angezeigt werden [...].
Wird gleichzeitig der Wert für sfn als '' (leer) definiert, dann wird hier der gewählte Wert (pn) als zu durchsuchendes Feld benutzt. Dies ist insbesondere in Verbindung mit den Wahlmöglichkeiten von mod_text interessant und erlaubt kategorisierte Suchen.
Inwiefern werden mehrere Felder durchsucht? Weil der hier gewählte Wert der Option gleich dem Feldnamen (UND gleich dem Wert!) der gesetzten Checkbox ist?
Wenn ich im Artikeltemplate mehrere Optionsfelder (Radiobuttons) bzw. Selectfelder habe, werden diese dann alle durchsucht?
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Mr. Magpie hat geschrieben:Ich habe gleich zwei Fragen:

Dass in http://community.conpresso.de/viewtopic ... 6186#16186 und http://community.conpresso.de/viewtopic ... 6410#16410 der Wert von "name" bzw. "id" des select-Tags "sp1" ist, dagegen auf der Manual-Seite http://manual.conpresso4.de/feature_sea ... cation.htm "p4", also ohne "s", das hat sicher nur historische Gründe? Oder muss der Wert mit "s" verwendet werden, wenn "sf#" leer bleibt, also eine Suche über mehrere Felder gleichzeitig stattfinden soll (s.unten)?
Ein paar Postings weiter unter wird spn erklärt
http://community.conpresso.de/viewtopic ... 6410#16410
wie Du ja festgestelt hast, Es geht tatsächlich speziell um die Verbindung mit einer leeren Suchfeldangabe
Desweiteren bin ich mir unsicher, ob ich das Goodie in http://community.conpresso.de/viewtopic ... 6410#16410 bzw. folgende Ausführung auf der Manualseite nicht so recht verstehe:
Wird das Suchfeld als Select-Feld ausgeführt, kann der bei der Suche eingestellte Begriff als "selected" angezeigt werden [...].
Wird gleichzeitig der Wert für sfn als '' (leer) definiert, dann wird hier der gewählte Wert (pn) als zu durchsuchendes Feld benutzt. Dies ist insbesondere in Verbindung mit den Wahlmöglichkeiten von mod_text interessant und erlaubt kategorisierte Suchen.
Inwiefern werden mehrere Felder durchsucht? Weil der hier gewählte Wert der Option gleich dem Feldnamen (UND gleich dem Wert!) der gesetzten Checkbox ist?
Wenn ich im Artikeltemplate mehrere Optionsfelder (Radiobuttons) bzw. Selectfelder habe, werden diese dann alle durchsucht?
Ääääh... es werden die Felder durchsucht, deren Name gleich dem Suchbegriff ist und das trifft ausschließlich für Checkboxen zu.
Also JA zur ersten Frage.
Sowohl Optionsfelder als auch Selectboxen erlauben ja mehrere Werte.
Also NEIN zur zweiten Frage.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hab' ich mir schon fast gedacht - das mit dem "s" UND das mit Feldname = Wert der Selectoption des Suchformulars.

Stand m.E. nur in dieser Klarheit nicht da.

Ich frage mich nur, inwieweit es Sinn macht, bspw. die Terrierrassenangabe als Checkboxen anzulegen. Da fände ich ein Select- oder Optionsfeld plausibler.

Oder hast du mir ein anderes Beispiel? Mir fällt gerade keines ein.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Mr. Magpie hat geschrieben:Ich frage mich nur, inwieweit es Sinn macht, bspw. die Terrierrassenangabe als Checkboxen anzulegen. Da fände ich ein Select- oder Optionsfeld plausibler.
In diesen Fällen geht es z.B. um Zuchtrichter, die mehrere Rassen richten dürfen.
Und es gibt auch Züchter, die mehrere Rassen züchten, daher sind es dort Checkboxen.

Dagegen kann z.B. ein Wurf immer nur einer Rasse angehören, da sind es dann Selectboxen. Und die hat man eben auch bei der Suche, wenn man eine Rasse sucht.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Suche nach Datumsbereichen

Beitrag von Mr. Magpie »

Ich habe eine Rubrik von Veranstaltungen. Da ich mit mod_feature_search normale Text-Felder nicht als Datumsfelder durchsuchen kann, behelfe ich mir damit, dass jede Veranstaltung ein Textfeld Datumsnummer definiert hat. In dieses Feld wird das Veranstaltungsdatum in der Form JJJJ-MM-TT eingetragen, also bspw. 2012-09-23 für den 23. Sept. 2012.
Damit Besucher Veranstaltungen nach ihrem Datum suchen können, habe ich im Suchformular ein Select-Feld definiert:

Code: Alles auswählen

<select name="sp2" id="sp2">
  <option value=''>-- Bitte wählen --</option>
  <option value='2012-09-01' ### S2_2012-09-01 ###>September 2012</option>
  <option value='2012-10-01' ### S2_2012-10-01 ###>Oktober 2012</option>
  <option value='2012-11-01' ### S2_2012-11-01 ###>November 2012</option>
  <option value='2012-12-01' ### S2_2012-12-01 ###>Dezember 2012</option>
</select>
<input type="hidden" name="sf2" value="Datumsnummer" />
<input type="hidden" name="sm2" value=">= '###'" />
Soweit funktioniert das Ganze wunderbar, die Besucher können den Monat wählen ab dem die anzuzeigenden Veranstaltungen stattfinden.

Nun möchte ich die Besucher auch ein Enddatum angeben lassen.
Ich dachte, dazu könnte ich einfach analog ein zweites Select-Feld einbauen:

Code: Alles auswählen

<select name="sp3" id="sp3">
  <option value='2012-10-01' ### S3_2012-10-01 ###>September 2012</option>
  <option value='2012-11-01' ### S3_2012-11-01 ###>Oktober 2012</option>
  <option value='2012-12-01' ### S3_2012-12-01 ###>November 2012</option>
  <option value='2013-01-01' ### S3_2013-01-01 ###>Dezember 2012</option>
</select>
<input type="hidden" name="sf3" value="Datumsnummer" />
<input type="hidden" name="sm3" value="< '###'" />
Das funktioniert aber nicht! Wird sowohl im ersten als auch im zweiten Select-Feld etwas ausgewählt, wird letzteres ignoriert - trotz AND-Verknüpfung - und alle Veranstaltungen ausgegeben.

___

Noch lieber wäre es mir, man könnte die Werte von mehreren Selectfeldern - Startjahr, Startmonat, Starttag - zu einer einzigen Suchphrase zusammenfügen, um tagesgenau suchen zu können - aber das ist schon wieder ein anderes Thema.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich melde mich, wenn ich eine Umgebung aufgebaut habe, um das zu testen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ändere mal in actions.inc.php ab Zeile 173 den Block

Code: Alles auswählen

else {
    $request_text_string .= ($request_text_string != " AND ( ") ? " OR " : "";
    $request_text_string .= "( fieldname = '".addslashes($_REQUEST['sf'.$z])."' AND text ".$suchstring." )";
    $request_html_string .= ($request_html_string != " AND ( ") ? " OR " : "";
    $request_html_string .= "( fieldname = '".addslashes($_REQUEST['sf'.$z])."' AND html ".$suchstring." )";
}
zu

Code: Alles auswählen

else {
    $request_text_string .= ($request_text_string != " AND ( ") ? " ".$_REQUEST['results']." " : "";
    $request_text_string .= "( fieldname = '".addslashes($_REQUEST['sf'.$z])."' AND text ".$suchstring." )";
    $request_html_string .= ($request_html_string != " AND ( ") ? " ".$_REQUEST['results']." " : "";
    $request_html_string .= "( fieldname = '".addslashes($_REQUEST['sf'.$z])."' AND html ".$suchstring." )";
}
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Funktioniert leider nicht, d.h. ich bekomme die Meldung, dass es keine Suchergebnisse gibt.

Ergänzung: Dies gilt auch dann, wenn ich bei der Suche nur einen Start-Monat resp. Ende-Monat wähle oder in einem der anderen Suchfelder etwas eintrage, was alles vorher funktionierte.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Das ist komisch.

Habe es extra getestet mit den Bruchstücken, die ich hatte.

Vielleicht fehlt mir noch eine Info?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Welche Info mag dir fehlen?

Ich schick' dir mal eine PN mit dem Template.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Du hast in Deinem Template noch folgendes stehen:

Code: Alles auswählen

<input type="hidden" name="p1" id="p1" value="%" />
<input type="hidden" name="sf1" value="Thema" />
<input type="hidden" name="sm1" value="LIKE '%###%'" />
was wohl als "ist mir doch egal" zu werten ist.
Du könntest es einfach weglassen, müsstest dann aber die Zählung der Suchfelder erneut bei 1 beginnen.

Oder Du änderst es in

Code: Alles auswählen

<input type="hidden" name="p1" id="p1" value="" />
<input type="hidden" name="sf1" value="Thema" />
<input type="hidden" name="sm1" value="LIKE '%'" />
Allerdings ist das alles Unsinn!

Grundsätzlich war der ursprüngliche Modul-Code schon richtig.
Aufgrund der Verteilung der Daten in mehrere Tabellen muß das OR in dem Codestück bleiben, denn es müssen erst mal alle möglichen Treffer in den verschiedenen Tabellen gefunden werden.
Erst später wird dannn überprüft, ob es - wenn ein AND gefordert ist - zwischen diesen Fundmengen eine Schnittmenge gibt.

An der Stelle werde ich nochmal forschen müssen.

Den Fall, daß ein Feld gleich zweimal abgefragt wird, hatte ich bisher nicht getestet oder berücksichtigt.

Melde mich!
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Der Hintergrund für das (versteckte) "Ist mir doch egal-Feld" ist folgender:

Im lokalen Header der Rubrik Veranstaltungen, in der alle Veranstaltungartikel stehen und in der gesucht werden soll, gibt es einen Link, der über dieses Feld und mod_feature_search erstmal wieder alle Artikel auflistet, aber zusätzlich oberhalb das mod_feature_search-Formular erscheinen lässt.

Dann soll der Besucher über die bereits bekannten "Datums"-Felder die Auflistung nach seinem Gusto einschränken können. Das versteckte "Ist mir doch egal-Feld" kann ich nun ja hierbei nicht mehr einfach weglassen.
Günther Ludwig
Antworten