JForm-Formularfeld: Rekursive Ordnerliste für Joomla (Field_FolderListGhsvs, Stand: Joomla 3.5.0)
Im Unterschied zum Joomla-Standard-Formularfeld folderlist, das die 1. Ordnerebene eines Verzeichnisses anzeigt und in den values der OPTIONs keinen Pfad enthält, hat folderlistghsvs 3 neue Attribute, um tieferliegende Ordner anzuzeigen und/oder die Pfade mitzuspeichern, je nach Kombination der volle, absolute Pfad oder ab Joomlaverzeichnis.
Hinweis: Mit Joomla 3.6.0 hat auch das joomlaeigene Formularfeld folderlist einen Parameter recursive erhalten. Dennoch ist damit folgend beschriebenes Formularfeld folderlistghsvs nicht hinfällig. Das joomlaeigene Feld speichert den Ordner-Pfad UNTERHALB dem eingegebenen directory. Dieses Fekd hier bei entsprechender Einstellung AB dem Joomla-ROOT.
Mögliche Attribute / Einstellungen
- type: muss folderlistghsvs sein
- name: Beschreibung
- label: Beschreibung
- default: Beschreibung
- description: Beschreibung
- filter: Beschreibung
- exclude: Beschreibung
- hide_none: Beschreibung
- hide_default: Beschreibung
- directory: Ordner ab Joomla-Stammverzeichnis, in dem gesucht werden soll. Bsp.: images/sampledata
- recurse: Wenn "true", werden auch Unterordner durchsucht / angezeigt (rekursive Suche).
- full: Wenn "true", wird statt einzelnem Ordnernamen der ABSOLUTE Pfad des gewählten Ordners gespeichert. Also inklusive Serverpfad oberhalb Joomlaverzeichnis. Bsp.: /absoluter/pfad/bis/joomla/images/sampledata/krimskrams
- fullroot: Wenn "true", wird statt einzelnem Ordnernamen, der RELATIVE Pfad des gewählten Ordners ab dem Joomla-Stammverzeichnis mitgespeichert. Überschreibt Einstellung full. Bsp.: /images/sampledata/krimskrams
Anwendungsbeispiele
Basierend auf folgender Ordnerstruktur. Die Bindestriche symbolisieren jeweils die Ordnerebene / Ordnertiefe. Als zu durchsuchender Pfad (directory) wird in den Beispielen images/a-folder gesetzt.
- images
-- a-folder
--- a-subfolder1
---- b-subfolder1
----- c-subfolder2
----- c-subfolder3
---- b-subfolder2
---- b-subfolder3
--- a-subfolder2
--- a-subfolder3
Beispiel 1: ohne neue Parameter
Funktioniert wie joomlaeigenes folderlist-Feld.
FIELD-Code im XML
<field name="portfolio_dir_galleries" type="folderlistghsvs"
directory="images/a-folder"
hide_none="true"
label="Ordner"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value)
<option value="a-subfolder1">a-subfolder1</option>
<option value="a-subfolder2">a-subfolder2</option>
<option value="a-subfolder3">a-subfolder3</option>
Beispiel 2: Verwendung von recurse
FIELD-Code im XML mit recurse
<field name="portfolio_dir_galleries" type="folderlistghsvs"
directory="images/a-folder"
recurse="true"
hide_none="true"
label="Ordner"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value)
Es werden auch Unterordner angezeigt, allerdings ohne Pfadangaben.
<option value="a-subfolder1">a-subfolder1</option>
<option value="a-subfolder2">a-subfolder2</option>
<option value="a-subfolder3">a-subfolder3</option>
<option value="b-subfolder1">b-subfolder1</option>
<option value="b-subfolder2">b-subfolder2</option>
<option value="b-subfolder3">b-subfolder3</option>
<option value="c-subfolder2">c-subfolder2</option>
<option value="c-subfolder3">c-subfolder3</option>
Beispiel 3: Verwendung von full
Bitte nachdenken, bevor man dieses Attribut verwendet! Es wird der absolute Pfad, also inklusive Server-Verzeichnisse gespeichert. Das macht oft wenig Sinn, beispielsweise, wenn die Joomlaseite später mal in ein anderes Stammverzeichnis umziehen soll.
FIELD-Code im XML mit full
<field name="portfolio_dir_galleries" type="folderlistghsvs"
directory="images/a-folder"
full="true"
hide_none="true"
label="Ordner"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value)
<option value="/absoluter/pfad/bis/joomla/images/a-folder/a-subfolder1">
a-subfolder1
</option>
<option value="/absoluter/pfad/bis/joomla/images/a-folder/a-subfolder2">
a-subfolder2
</option>
<option value="/absoluter/pfad/bis/joomla/images/a-folder/a-subfolder3">
a-subfolder3
</option>
Beispiel 4: Verwendung von fullroot
FIELD-Code im XML mit fullroot
<field name="portfolio_dir_galleries" type="folderlistghsvs"
directory="images/a-folder"
fullroot="true"
hide_none="true"
label="Ordner"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value)
<option value="/images/a-folder/a-subfolder1">
a-subfolder1
</option>
<option value="/images/a-folder/a-subfolder2">
a-subfolder2
</option>
<option value="/images/a-folder/a-subfolder3">
a-subfolder3
</option>
Beispiel 5: Verwendung von full und recurse
Bitte nachdenken, bevor man das Attribut full verwendet! Es wird der absolute Pfad, also inklusive Server-Verzeichnisse gespeichert. Das macht oft wenig Sinn, beispielsweise, wenn die Joomlaseite später mal in ein anderes Stamm-Verzeichnis umziehen soll.
FIELD-Code im XML mit full und recurse
<field name="portfolio_dir_galleries1" type="folderlistghsvs"
directory="images/a-folder"
full="true" recurse="true"
hide_none="true"
label="Ordner1"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value sowie Titel mit Bindestriche für Ordner-Level)
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1">
a-subfolder1
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1/b-subfolder1">
- b-subfolder1
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1/b-subfolder1/c-subfolder2">
- - c-subfolder2
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1/b-subfolder1/c-subfolder3">
- - c-subfolder3
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1/b-subfolder2">
- b-subfolder2
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder1/b-subfolder3">
- b-subfolder3
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder2">
a-subfolder2
</option>
<option value="/abs/pfad/bis/joomla/images/a-folder/a-subfolder3">
a-subfolder3
</option>
Beispiel 6: Verwendung von fullroot und recurse
FIELD-Code im XML mit fullroot und recurse
<field name="portfolio_dir_galleries2" type="folderlistghsvs"
directory="images/a-folder"
fullroot="true" recurse="true"
hide_none="true"
label="Ordner2"
description=""/>
Erzeugte OPTIONs der SELECT-Box (Beachte Attribute value sowie Titel mit Bindestriche für Ordner-Level)
<option value="/images/a-folder/a-subfolder1">
a-subfolder1
</option>
<option value="/images/a-folder/a-subfolder1/b-subfolder1">
- b-subfolder1
</option>
<option value="/images/a-folder/a-subfolder1/b-subfolder1/c-subfolder2">
- - c-subfolder2
</option>
<option value="/images/a-folder/a-subfolder1/b-subfolder1/c-subfolder3">
- - c-subfolder3
</option>
<option value="/images/a-folder/a-subfolder1/b-subfolder2">
- b-subfolder2
</option>
<option value="/images/a-folder/a-subfolder1/b-subfolder3">
- b-subfolder3
</option>
<option value="/images/a-folder/a-subfolder2">
a-subfolder2
</option>
<option value="/images/a-folder/a-subfolder3">
a-subfolder3
</option>