Suchindex auf aktuelle Daten
Letzte Artikel / Produkte
Seit Version 4.08.00 ist es möglich das Erstellungsdatum als Kriterium der Abfrage zu nutzen. Mit einer entsprechenden Suchmaske könnte man den Usern eine Eingabe mit einem optischen Kalender anbieten und den User auswählen lassen: Alle Artikel eingestellt seit dem Datum. In der Regel nutzen aber User derartig komplexe Eingaben nicht. Dennoch lässt sich das Ergebnis dem User anbieten als vorbereitete Abfragen. Man legt z.B. auf der Startseite einen HTML-Absatz an.
Man schreibt in diesen Absatz (Beispiel 1):
<php
require('/assets/s.php?nurartikel=NurArtikel&maxhits=99999&creationdate=15.12.2009 ');
?>
Damit werden alle Artikel eingestellt seit dem 15.12.2009 ausgegeben.
- criteria=. selektiert alle Suchobjekte,
- nurartikel=NurArtikel selektiert nur die Produkte,
- creationdate=15.12.2009 selektiert Produkte von diesem Datum oder später.
- maxhits=99999 gibt bis zu 99999 Ergebnisse auf einer Seite aus (also alle)
Die Abfrage lässt sich beliebig kombinieren mit anderen Kriterien und Parametern:
Komplexeres Shop-Beispiel 2:
<php
require('/assets/s.php' +
'?creationdate=15.12.2009 ' +
'&maxhits=20 '+
'&multicol='r 2 '+
'&nurartikel=NurArtikel ' +
'&Bereich=Bettwaren ' +
'&Preis=~50 '
); ?>
Gibt dann alle Artikel (=Produkte) aus, seit dem 15.12.2009 eingegeben, nur aus dem Bereich Bettwaren und nur neue Produkte im Preis von ca. 50 € (plus minus 25%). Es werden dabei 20 Ergebnisse angezeigt, in zwei Spalten (sofern die CSS Styles das so ermöglichen, also die Breiten der Ausgabeboxen passen) und nach jeweils 2 Ergebnissen in einer Zeile (mehrspaltige Ausgabe) wird ein Zeilenvorschub vorgenommen "<div style="clear:both"></div>". Die Parameter entsprechen exakt der Logik der Suche.
Für die "NeueInformationen"-Ausgabe wird das Bild unter der Titelzeile ausgegeben und der Preis mit Artikel-ID ähnlich einem Aufmacher am Ende nach dem Text. D.h. Die Ausgabereihenfolge der Objekte ist zwischen normaler Suche und Suche mit einem Paramater creationdate unterschiedlich.
Letzte Änderungen
Diese Anwendung auch für webtodate basiert auf der Logik für letzte Artikel (dort zuerst lesen).
Webtodate Beispiel 3:
<php
require('/assets/s.php?creationdate=15.12.2009 ' );
?>
Dies listet alle Seiten auf, auf denen mindestens ein Absatz seit dem 15.12.2009 erstellt wurde. Achtung: Nicht "geändert" wurde. Sie können also einen Text schreiben "Folgende Informationen habe wir für Sie neu bereitgestellt:" und dann in einem HTML-Absatz die Abfrage absetzen. Dann folgen die Seiten mit neuen Absätze. Per CSS Anpassung sollte aber der style ".textstelle" von display:none zu display:block abgeändert werden, damit nicht nur die Seite und der Kurztext sondern auch der Text des neuen Absatzes angezeigt wird.
Webtodate Beispiel 4:
<php
require('/assets/s.php?criteria=Finanzinnovation &creationdate=15.12.2009 &Bereich=Abgeltungsteuer &multicol=2 ');
?>
Dies listet alle Seiten auf, auf denen mindestens ein Absatz seit dem 15.12.2009 angelegt (eingefügt) wurde, die unter der Hauptseite "Abgeltungsteuer " liegen und das Suchwort Finanzinnovation enthalten. Die Ausgabe erfolgt zweispaltig (sofern die CSS Layouts das auch unterstützen).
Anwendung in einer Suchmaske
Die Anwendung in einer Suchmaske ist es die <form>-Anweisung zu erweitern. Dabei kann man eine neue Combo-Box erstellen mit <select.. und dort vordefinierte Optionen anbieten.
In diesem Beispiel sollen drei Optionen verfügbar sein: Keine Einschränkung, Neue Informationen, und Letzte Beiträge. Die Zeitauswahl wird dabei einmal per PHP auf die letzten 180 Tage und einmal auf die letzten 60 Tage definiert.
Der Code wird unter Verwendung von PHP flexibilisiert, so dass der HTML-Code die richtigen Datumsangaben bereits enthält.
Code-Auszug zum Einfügen in die <form-Anweisung:
<div style="margin:0px 0 0 2px;">Aktualität:</div>
<select class="search" name="creationdate" size="1" >
<option value="">keine Einschränkung</option>
<option value=<?php echo "\"".date("d.m.y",strtotime("-180 days "))."\"";?>
_ >Neue Informationen</option>
<option value=<?php echo "\"".date("d.m.y",strtotime("-60 days"))."\"";?>
>Letzte Beiträge</option>
</select>
Die Ausgabe enthält (webtodate Beispiel oben), Seitentitel (oder Produkttitel), Abstract (Kurzbeschreibung) , Bild (im Standard) und die Textstelle. Per CSS können weitere Objekte der normale Suchausgabe wieder freigegeben werden: Die anderen Objekte (wie Preise, Absätze etc.) werden nur per Anweisung "display:none" einfach unterdrückt, sind aber technisch vorhanden und aktivierbar, bzw. fall vorhandene Dinge stören auch deaktivierbar.






