Modul Feature-Suche

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Mr. Magpie hat geschrieben: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.
Ohne dieses Feld würde mod_feature_search über fehlende Suchbegriffe meckern, richtig?
Dennoch wäre das unnötig, weil das Modul nur auf die übergebenen Parameter achtet, was im Formular steht ist dabei egal.

Für die Datumswahl hätte ich zwar eine Lösung, dann müsste man die Suche aber auf Textfelder eingrenzen. Das könnte man als individuelle Lösung machen, aber so ist es keine Option für das Modul.

Ich forsche weiter, muss aber erst einen anderen Job erledigen...
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

MarkusR hat geschrieben:
Mr. Magpie hat geschrieben: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.
Ohne dieses Feld würde mod_feature_search über fehlende Suchbegriffe meckern, richtig?
Exakt!
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Ich habe mir den Code nochmal sehr gründlich angesehen.

Ohne ein komplett neues System zu entwickeln wird das nichts.
Das AND im Formularcode bezieht sich eben darauf, daß alle verwendeten Felder einen Treffer landen müssen. Wird nun ein Feld zweimal genutzt, dann addieren sich dessen Treffer und diese Gesamttreffer werden mit den Treffern der anderen Felder abgeglichen.

In Deinem Falle wäre ein handgestricktes Formular viel einfacher zu realisieren. Mit einer JOIN-Abfrage würde man eine Liste der Artikel inkl. der auszuwertenden Felder erstellen. Im zweiten Schritt würde man diese Liste für die Suche nutzen. Vielleicht kriegt man es sogar mit einer verschachtelten Abfrage hin.
Die Treffer würde man dann als Artikel über ein normales Template ausgeben lassen.

Die Terminauswahl könnte man dann auch dynamisch gestalten, so daß z.B. immer die nächsten 12 Monate zur Auswahl stehen.
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.
Das lässt sich recht einfach mittels Javascript realisieren, indem die jeweiligen Select-Felder eine Funktion anstoßen, die deren Inhalte als Value in ein Hidden-Feld schreibt.
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

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.
Das lässt sich recht einfach mittels Javascript realisieren, indem die jeweiligen Select-Felder eine Funktion anstoßen, die deren Inhalte als Value in ein Hidden-Feld schreibt.
Javascript sollte außen vor bleiben, dies fällt damit aus.
Mit einer JOIN-Abfrage würde man eine Liste der Artikel inkl. der auszuwertenden Felder erstellen. Im zweiten Schritt würde man diese Liste für die Suche nutzen. Vielleicht kriegt man es sogar mit einer verschachtelten Abfrage hin.
Die Treffer würde man dann als Artikel über ein normales Template ausgeben lassen.

Die Terminauswahl könnte man dann auch dynamisch gestalten, so daß z.B. immer die nächsten 12 Monate zur Auswahl stehen.
Hm, das magst vielleicht du ohne Weiteres und auf die Schnelle hinkriegen, meinereiner ist damit - nicht nur zeitlich - überfordert. Ich denke, da spreche ich auch für etwaige Mitleser.
Günther Ludwig
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hallo Markus,

in http://community.conpresso.de/viewtopic ... 7211#27211 hast du geschrieben:
Den Fall, daß ein Feld gleich zweimal abgefragt wird, hatte ich bisher nicht getestet oder berücksichtigt.
Und in einer PN hattest du erwähnt:
Die doppelte Eingabe in zwei verschiedenen Formaten ist auch überflüssig, denn, sollte man das wirklich brauchen, lässt sich einfach in _include/check_edit.php der Wert eines Feldes umformatieren und in ein anderes Feld schreiben, bei dem man "nicht abfragen" eingestellt hat.
Das zusammen klingt jetzt interessant. Denn, wenn ich nicht das gleiche Feld zweimal abfragen kann, dann mache ich doch zwei Felder mit identischem Inhalt daraus und frage diese ab. Ich hab's getestet und bekomme so die Veranstaltungen aufgelistet, die im Bereich "von Monat" bis "bis Monat" liegen.

Bleibt jetzt noch für mich die Frage, wie bekomme ich den Inhalt des Text-Feldes "Datum" (Formatierung TT.MM.JJJJ) automatisch in die beiden Text-Felder "von Datum" und "bis Datum" (Formatierung JJJJ-MM-TT)? Oder konkret: Wie müsste eine entsprechende _include/check_edit.php aussehen?
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Du öffnest _include/check_edit.php und fügst folgendes ein:

Code: Alles auswählen

if (isset($_POST['content']['Datum (text)']['text']) && trim($_POST['content']['Datum (text)']['text']) != '')  {
	$dateParts = explode('.',$_POST['content']['Datum (text)']['text']);
	$_POST['content']['von Datum (text)']['text'] = $dateParts[2].'-'.$dateParts[1].'-'.$dateParts[0];
	$_POST['content']['bis Datum (text)']['text'] = $dateParts[2].'-'.$dateParts[1].'-'.$dateParts[0];
}
Zuletzt geändert von MarkusR am 13.09.2012 13:15, insgesamt 1-mal geändert.
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Supi! Werd's heute Nachmittag testen und dann berichten.

Nur noch eine Anschlussfrage: die _include/check_edit ist a doch eine recht zentrale CPO-Datei.
Kann ich es irgendwie erreichen, dass deine Änderung/Ergänzung daran nur bei bestimmten Rubriken Verwendung findet?
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Ja.

Code: Alles auswählen

if ($_POST['rubric_id'] == NUMMERDERRUBRIK && isset($_POST['content']['Datum (text)']['text']) && trim($_POST['content']['Datum (text)']['text']) != '')  {
....
Aber nur ab 4.1.x. In 4.0.x muss man das anders machen...

Code: Alles auswählen

if ($_SESSION['SID_rubric_id'] == NUMMERDERRUBRIK && isset($_POST['content']['Datum (text)']['text']) && trim($_POST['content']['Datum (text)']['text']) != '')  {
....
Aber viel sinnvoller wäre es, das auf ein bestimmtes Template zu beschränken, weil ja nur dort diese Felder existieren

Code: Alles auswählen

if ($_POST['templates_id'] == NUMMERDESTEMPLATES && isset($_POST['content']['Datum (text)']['text']) && trim($_POST['content']['Datum (text)']['text']) != '')  {
....
gilt dann auch für 4.x.x, also alle bisher erschienenen 4er-Versionen
Zuletzt geändert von MarkusR am 13.09.2012 13:13, insgesamt 1-mal geändert.
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Ohne die Rubrikeneinschränkung funktioniert's, wenn ich

Code: Alles auswählen

isset($_POST['content']['Datum (text)']['text']
zu

Code: Alles auswählen

isset($_POST['content']['Datum (text)']['text'])
korrigiere.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Ich habe für alle vier Varianten die fehlende Klammer nachgetragen.
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Funktioniert jetzt perfekt!
Günther Ludwig
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Jetzt ist nur eines unschön:
Für die beiden Textfelder "von Datum" und "bis Datum" habe ich die Checkbox "nicht abfragen" angehakt und so erscheinen sie nach dem Speichern und Wiederöffnen des Artikels im Backend als "veralteter Artikelinhalt". Aber damit kann ich leben, ist nur ein kosmetisches Problem.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

*lol* eigentlich war mir auch nie klar, wozu das "nicht abfragen" außer bei den festen Links zu Detail- und Rubrikseite gut sein soll.
Vielleicht sollte man dessen Funktion mal überprüfen...
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 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

... oder wenigstens dafür sorgen, dass der "veraltete Artikelinhalt" den armen Redakteuren nur nach aktivem Klick auf einen Button angezeigt wird. Nur so als Gedanke...
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7164
Registriert: 01.01.1970 02:00
Hat sich bedankt: 104 Mal
Danksagung erhalten: 919 Mal

Beitrag von MarkusR »

Zur Info:

mod_text kennt echte versteckte Felder! Das habe ich auch in Verbindung mit mit diesen berechneten Feldern benutzt... war mir nur nicht mehr so bewußt, daß es vielleicht noch Leute gibt, die mod_text nicht benutzen... :wink:
Zuletzt geändert von MarkusR am 15.09.2012 07:40, insgesamt 1-mal geändert.
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