Sortierung einer Liste über eigene Werte

Sortieren Sie eine Weblication® Liste über eigene Werte, um die Reihenfolge der Listeneinträge individuell zu bestimmen.

Als Sortierkriterium für Weblication® Listen können Sie neben einer Sortierung nach Änderungsdatum, Pfad, etc. auch eigene Werte heranziehen. So können Sie eine Liste manuell über die individuellen Werte der Dateien sortieren.

Wählen Sie hierzu in den Listenoptionen im Auswahlfeld "Sortieren nach" die Option "Sortierungs-ID" aus.

Listenoptionen zur Sortierung (nach Sortierungs-ID)
Listenoptionen zur Sortierung (nach Sortierungs-ID)
Sollte die Auswahl im Projekt nicht vorhanden sein, können Sie diese in aktuellen Projekten über die Projektkonfiguration hinzufügen.
Tragen Sie dies innerhalb eines BASE 2.x Projekes wie folgt ein:
- Zusätzliche Sortiermöglichkeiten (xPath-Ausdrücke durch | getrennt):
/wd:extension/wd:object/wd:data[@id='orderID']/text()
- Zusätzliche Sortiermöglichkeiten (Angezeigte Werte durch | getrennt):
Sortierungs-ID

Standardmässig greift das Listen-Eement (list.standard.wItem.php) bei dieser Einstellung auf folgenden xPath zurück:

/wd:extension/wd:object/wd:data[@id='orderID']/text()

In den Dateien, die in die Liste eingelesen werden, muss dieses Feld somit vorhanden sein und mit einem entsprechenden Wert (z.B. 0001) befüllt sein.

Passen Sie das Template, das zur Pflege der Dateien verwendet wird, entsprechend an, um in den Dateien die gewünschten Werte zu befüllen. Am Beispiel der aktuellen Meldungen demonstrieren wir Ihnen das anhand des Objekt-Templates für die News.
Da sich der zu schreibende Wert innerhalb des wd:object Bereiches befindet, muss dieser in den Seiten noch nicht bestehen, sondern wird automatisch (neu) geschrieben (das sogenannte Reverse-Template-Modelling, siehe auch weiterführende Links).

Pflegefeld der Sortierungs-ID über die Objektmaske
Pflegefeld der Sortierungs-ID über die Objektmaske

Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/objects/news.wObject.php mit orderID

...
  <div class="wEditorExtensionLabel" style="clear:both"><xsl:value-of select="php:functionString('wTexts::showTextUser', 'Sort-ID', 'Sortierungs-ID', 'Sort-ID')"/> <span>(<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Will be used for sort by ID', 'Wird verwendet, wenn die Liste nach Sortierungs-ID sortiert wird', 'Utilisé lorsque la liste est triée trier par-id')"/>)</span></div>
  <div class="wEditorExtensionValue"><!-- web:text:start validator="/^(\d{4})?$/" errorMessage="<xsl:value-of select="php:functionString('wTexts::showTextUser', 'Please insert correct sort-id', 'Bitte geben Sie eine korrekte Sortierungs-ID an!', 'Entrez un identifiant valide sort-id, s.v.p.')" />" editor="input" inputStyle="width:100px"--><xsl:value-of select="/wd:document/wd:extension/wd:object/wd:data[@id='orderID']/text()"/><!-- web:text:stop --> <span>(<xsl:value-of select="php:functionString('wTexts::showTextUser', 'e.g.: 0001', 'z.B.: 0001', 'e.g.: 0001')"/>)</span></div>
...

Im Beispiel wird ein Validator für das Eingabefeld innerhalb der Bearbeitung verwendet. Entspricht der eingegebene Wert nicht dem Muster des regulären Ausdruckes, wird ein Hinweis ausgegeben.

Validator für das Eingabefeld

Nachfolgend Beispiele für einen Validator des Eingabefeldes:

  • /^(\d{4})?$/
    Das Feld muss dem angegebenen regulären Ausdruck entsprechen (z.B.: validator="/^(\d{4})?$/" prüft auf eine vierstellige Zahl (z.B. 0001)) oder leer sein.
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.
  • /^\d{4}$/
    Das Feld muss dem angegebenen regulären Ausdruck entsprechen (z.B.: validator="/^\d{4}$/" prüft auf eine vierstellige Zahl (z.B. 0001)).
    Sofern dies nicht der Fall ist, erfolgt eine Hinweismeldung, die über das errorMessage-Attribut definiert werden kann.