Mit Url-Überschreibungen Ausgabeseiten variieren

Das Grundprinzip

Bei der Erstellung von Ausgabeseiten gibt es zwei Möglichkeiten, Daten auszugeben oder sie zu bearbeiten. Im Menü <Ausgabeseiten> - <Wahl einer einzelnen Seite> - <Vorlage verwenden> liefert die Position Erstellungstyp die beiden hierzu gehörenden Alternativen explizit und dynamisch.

Explizite Version: Pro Spalte wird ein sd:input-text - bzw. sd:cell-value -Element im passenden Kontext eingefügt und verweist mit seinem sd:col -Attribut auf die gewünschte Spalte. Damit läßt sich die Reihenfolge der Spalten sowie die Html-Darstellung jeder einzelnen Spalte individuell festlegen. Wird eine Spalte ausgelassen, so wird sie nicht ausgegeben bzw. kann nicht bearbeitet werden. Bei der Ausgabe einer Tabelle kann das sd:rs -Element die zusätzlichen Attribute sd:sc (SortColumn) und sd:so (SortOrder) erhalten, um die Ausgabe für jeden Erstaufruf geeignet zu sortieren.

Dynamische Version: Alternativ können mit sd:input-cell-set , sd:col-set und sd:cell-set auch Bereiche deklariert werden, welche sd:label , sd:input-text und sd:cell-value ohne das sd:col -Attribut enthalten. Diese Bereiche werden bei der Seitenausgabe für jede Spalte einmal aufgerufen, so daß sich der Name der aktuellen Spalte jeweils aus dem Kontext ergibt. Hier entspricht die Reihenfolge der Spalten der Definition in der Datenbank, es kann keine Spalte entfernt werden. Da für alle Spalten nur eine Vorlage existiert, werden auch alle Spalten gleichartig formatiert, wobei verschiedene Typen (Texteingabe, Relation, Ja/Nein oder BitSet) automatisiert berücksichtigt werden.

Diese Dynamisierung läßt sich zusätzlich durch Url-Überschreibungen so ausdehnen, daß dieselbe Ausgabeseite für die Bearbeitung mehrerer Tabellen genutzt wird. Ebenso können durch Url-Überschreibungen Sortierspalte, Richtung und der ausgegebene Bereich geändert werden. Damit läßt sich eine (einzige) Ausgabeseite zunächst für eine Tabelle dynamisch deklarieren und anschließend durch Links einer passenden Form so aufrufen, daß alle Tabellen der Datenbank mit dieser einzigen Ausgabeseite bearbeitet werden können.

Die Url-Überschreibungen stehen immer zur Verfügung. Sie werden intern auch genutzt, um die Logik für Sortierpfeile und das Blättern durch die Ergebnisse bereitzustellen. Es ist nicht möglich, Url-Überschreibungen auf einer Ausgabeseite zu verhindern. Sie bleiben jedoch wirkungslos, falls Ausgabespalten explizit ausgegeben werden und sich die Spaltennamen der verschiedenen Tabellen voneinander unterscheiden. Ferner wird die Berechtigungsprüfung immer ausgeführt, unabhängig davon, ob die Tabelle im sd:source-name -Attribut oder per Url-Überschreibung benannt ist.

Die Verwendung im Detail

Bei der Nutzung des oben genannten Menüs werden ein sd:input-table -Element mit dem Name 'sample-input' sowie ein sd:rs -Element mit dem Namen 'sample-output' erstellt, die Seite möge 'mySample.html' heißen, als erste Tabelle sei eine Tabelle 'Artikel' eingebunden. Die Syntax für Url-Überschreibungen lautet:
Seitenname.html/Objektname/Parametername/Parameterwert
	[/weiterer Parameter/Wert]
	[/weiterer Objektname mit Parametern]
Die Werte müssen fortlaufend notiert werden, hiesige Umbrüche erfolgen nur aus Gründen der Darstellung. Es folgt also immer der Objektname, gefolgt von Name-Wert-Paaren. Deren Reihenfolge ist beliebig, nicht benötigte Paare können weggelassen werden. Gültige Parameternamen sind:
	table
	sc
	so
	range
'table' kann für sd:input-table - und sd:rs -Elemente genutzt werden und erwartet als nächsten Ausdruck einen gültigen Tabellen-, View- oder Abfragennamen. Die beiden letzten Versionen sind nur beim sd:rs-Element sinnvoll. Die anderen Parameter gelten ebenfalls nur für dieses und erwarten einen gültigen Spaltennamen, 1 bzw. 2 für die Sortierrichtung oder einen Bereich '1-10' für die ersten zehn Ergebnisse. Damit erzeugt die Url
mySample.html/sample-output/table/Vertreter/sample-input/table/Vertreter
dieselbe Ausgabeseite, behandelt diese jedoch so, als sei die Tabelle 'Vertreter' jeweils als Attributwert für die beiden Hauptelemente angegeben. Diese Tabelle wird ausgegeben und zur Bearbeitung angeboten. Die Url
mySample.html/sample-output/table/Umsatz/sample-input/table/Umsatz
leistet dasselbe für die Tabelle 'Umsatz'.

Der Ausdruck

mySample.html/sample-output/so/2
sortiert die Standardtabelle für das Element mit dem Namen sample-output abwärts und übernimmt hierbei die vorgegebene Sortierspalte. Die Ergänzung
mySample.html/sample-output/so/2/sc/A_Preis
angewandt auf die Tabelle 'Artikel' zeigt den teuersten Artikel als erstes an.


Link zur hiesigen Seite als QR-Code

Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2023 Jürgen Auer, Berlin.