4. Suchtemplates
Für die Katalogsuche werden nur die folgenden Aktionen im Templates verwendet:search-connect
, search
, search-next-
, search-details
search-connect
: Alle Variablen, die in der Bibliotheks xml-Datei definiert wurden.search
: Zusätzlich die Variablebook
, die die Suchanfrage enthält.
Die folgenden Eigenschaften können gesetzt sein:book.author
,book.title
,book.keywords
,book.isbn
,book.year
.
Um die Suchergebnisse an VideLibri zu übergeben, wird ebenfalls die Variablebook
verwendet, jede Zuweisung eines Objekts anbook
erstellt ein neues Medium in der angezeigten Ergebnisliste. Z.B.:book := {"author": td[1], "title": td[2]}
. (genauso wie imupdate-all
-Template) Desweiteren sollte die Variablesearch-result-count
auf die Zahl der gefundenen Medien gesetzt werden und, wenn es mehrere Seiten gibt, die Variablesearch-next-page-available
auftrue()
.search-next-page
: Diese Aktion wird nur aufgerufen, wenn die vorherige Aktionsearch-next-page-available
entsprechend gesetzt hat, und der Benutzer in der Ergebnisliste entsprechend weit hinab gescrollt hat.
Ansonsten verhält sie sich genau wie diesearch
-Aktion. Insbesondere musssearch-next-page-available
wieder auftrue()
gesetzt werden, wenn es noch weitere Seiten gibt.search-details
: Diese Aktion wird aufgerufen, wenn der Benutzer ein Buch auswählt. Die Variablebook
ist auf das ausgewählte Buch gesetzt und die Eigenschaften können verändert werden, um die Details zu übermitteln. (wie in update-single)
Alle Eigenschaften die auf!
enden, werden in der Detailliste angezeigt, alle anderen nicht. (dies könnte in Zukunft zu, "alle Eigenschaften, die nicht mit_
beginnen werden angezeigt", geändert werden)
Es gibt die folgenden weiteren, speziellen Eigenschaften:book.digibib-url
,book.home-url
,book.amazon
, die jeweils Links zu dem Buch in der Digibib, dem Büchereikatalog oder Amazon speichern.
4b. Bestellungen
In den search
, search-details
-Aktionen können folgende Buch-Eigenschaften für die Bestellung gesetzt werden:
book.orderable
: Ob das Buch überhaupt bestellt werden kannbook.orderTitle
: Titel für die Bestellung (z.B.: bestellen, oder vormerken)
Für eine Bestellung wird dann die Aktion order-single
aufgerufen.
Mittels den Funktionen vl:confirm("callback-action", "Frage")
und vl:confirm("callback-action", "Frage", ("Auswahlliste", ...), ("Werte für die Elemente der Liste", ...))
kann dem Benutzer dann eine Frage gestellt werden. Für die Antwort wird dann die Aktion "callback-action"
(kann ein beliebiger Name sein) aufgerufen, bei die Variablen $confirm-result
bzw. code>$choose-result auf das Dialog-Ergebnis gesetzt sind.
Sobald die Eigenschaft book.statusId
auf "ordered" gesetzt wird, wird das Buch zur Medienliste des Kontos hinzugefügt.