Be

f:be.container

Parameter

ParameterErklärungStandardwert
pageTitleBE-Module werden in einem Frame dargestellt, von daher macht ein Seitentitel wenig sind. Einfach leer lassenleer
enableJumpToUrlLasst diesen Parameter eingeschaltet, wenn ihr den ActionMenu-ViewHelper verwenden wollt, da dieser die entsprechenden JavaScripte dazu liefert.aktiviert
enableClickMenuWenn aktiviert, wird das JavaScript für die Contextmenüs eingebundenaktiviert
loadPrototypeWenn aktiviert, wird das Prototype-JS-Framework eingebundenaktiviert
loadScriptaculousWenn aktiviert, wird das Zusatzpaket für Prototype eingebundendeaktiviert
scriptaculousModuleIhr könnt hier noch weitere Module für das Scriptaculouspaket aktivierenaktiviert
loadExtJsWenn aktiviert, wird das ExtJS-Framework eingebundendeaktiviert
loadExtJsThemeWenn aktiviert, werden Vorgaben für die Grafischen Elemente eingebunden.aktiviert
extJsAdapterStatt dem Standard ext-base kann hier ein anderer Adapter angegeben werden.standard
enableExtJsDebugSollte nur aktiviert werden, wenn man auf Basis von ExtJS entwickelt.deaktiviert
addCssFileEine CSS-Datei einbindenkeine
addJsFileEine JavaScript-Datei einbindenkeine

Zuallererst solltet ihr Euch eine grundsätzliche Frage stellen: Willst Du etwas entwickeln ganz im Stile von TYPO3 oder willst Du etwas völlig Eigenes bauen. Wenn ihr Euch für etwas völlig Eigenes entscheidet, dann braucht ihr diesen ViewHelper überhaupt nicht. Bindet in diesem Falle Eure benötigten StyleSheets und JavaScripte selbst ein.

Wenn ihr allerdings etwas bauen wollt, dass sich an das TYPO3-Design anlehnt und möglichst kompatibel ist, dann solltet ihr diesen ViewHelper auf jeden Fall verwendet. Das was damals zu Zeiten von MediumDoc und Co. eingebunden wurde, benötigt heute nur noch diesen Zweizeiler mit knapp 10 Parametern.

f:be.pageInfo

Dieser ViewHelper benötigt keine Parameter. Er zeigt einfach nur das Icon der aktuellen Seite an mit der Information, um welche pid es sich dabei handelt.

Beispiel

<f:be.pageInfo />

f:be.pagePath

Dieser ViewHelper benötigt keine Parameter. Er zeigt den Pfad zur aktuell gewählten Seite an. Diese Information ist vor allem bei sehr großen Webseiten nützlich, wenn Seiten eher über eine Suche gefunden werden. Dann ist es schon mal schwierig herauszufinden, wo sich diese Seite im Wust der ganzen Navigationen und Unterseiten im Seitenbaum überhaupt befindet.

f:be.tableList

Sehr geiles Teil. Was wir aus dem Modul Web->Liste kennen können wir nun selbst verwenden und super einfach konfigurieren, wie die folgenden Beispiele zeigen.

Parameter

ParameterErklärungStandardwert
tableNameDer Name der Tabelle
fieldListWelche Spalten der Tabelle sollen angezeigt werden (Arraynotation)
storagePidDie Daten welcher Seite sollen angezeigt werden? Wenn nichts anderen angegeben wurde, werden die Datensätze der Seite angezeigt, die über persistence.storagePid angegeben wurde.
levelsFalls die Seite aus storagePid noch Unterordner enthält, könnt ihr hier angeben wie viele Ebenen tiefer nach weiteren Datensätzen gesucht werden soll.1
filterGebt hier ein Suchwort ein, nach dem Eure Datensätze gefiltert werden sollen.
recordsPerPageWie viele Datensätze dürfen maximal auf einer Seite angezeigt werden.Angabe aus TCA, sonst 100
sortFieldNach welchem Feld sollen die gefundenen Datensätze sortiert werden
sortDescendingWenn aktiviert, dann werden die Datensätze rückwärts sortiert.deaktiviert
readOnlyWenn aktiviert, dann werden die Bearbeitungssymbole nicht mehr angezeigt.deaktiviert
enableClickMenuWenn aktiviert, dann kann das Contextmenü verwendet werdenaktiviert
clickTitleModeAuswahl von edit, info und show. Falls ihr show auswählt, dann klappt das nur bei der Tabelle pages und tt_content. Normalerweise müsst ihr immer erst über das Kontextmenü oder über ein anderes Modul in diesen Bereich klicken. Nun reicht ein Klick auf den Titel des Datensatzes.
alternateBackgroundColorsWenn aktiviert, wechseln sich die Hintergrundfarben je Datenzeile ab.deaktiviert

Minimalistisches Beispiel

Dieses Beispiel zeigt die Tabelle tt_content mit den beiden Feldern header und bodytext. Die Tabelle wird nur dann angezeigt, wenn sich auf der Seite, die durch storagePid angegeben wurde auch tatsächlich Datensätze dieser Tabelle befinden. Alle Backendmodule, die zumindest über den extension_builder erzeugt wurden, bringen ein Extensiontemplate mit, das auf der Rootseite eingebunden werden sollte. Über den Konstanten-Editor kann nun eine Seiten-UID eingetragen werden, die als Fallback dient, falls wie hier in unserem Beispiel keine storagePid angegeben worden ist.

<f:be.tableList tableName="tt_content" fieldList="{0: 'header', 1: 'bodytext'}" />

Beispiel: Maximale Datensatzanzahl

Obwohl wir hier den Parameter recordsPerPage nicht angegeben haben, werden uns innerhalb des Introduction-Package nur 100 Datensätz auf der ersten Seite angezeigt von etwas über 150. Denn wenn dieser Parameter nicht angegeben wird, gilt erstens der Wert aus dem TCA $GLOBALS['TCA'][TabellenName]['interface']['maxSingleDBListItems'] und wenn dieser nicht angegeben ist 100. Mithilfe von recordsPerPage ist es auch möglich mehr als 100 Datensätze anzeigen zu lassen.

<f:be.tableList tableName="tt_content" fieldList="{0: 'header', 1: 'bodytext'}" storagePid="1" levels="5" />

Beispiel: Datensatz direkt anzeigen

Normalerweise muss man immer über das Modul Web->Anzeigen oder über das Kontextmenü navigieren, um eine erste Preview seines gewählten Datensatzes zu erhalten. Viel einfacher geht es, wenn man den Titel eines Datensatzes (Der Wert aus der ersten Spalte) mit dieser Möglichkeit verlinkt. Hierfür gibt es den Parameter clickTitleMode, den ihr auf “show” setzen müsst. Zusätzlich habe ich in dieses Beispiel nach einen Wechselnden Hintergrund je Datenzeile implementiert.

<f:be.tableList tableName="tt_content" fieldList="{0: 'header', 1: 'bodytext'}" storagePid="1" levels="5" alternateBackgroundColors="TRUE" clickTitleMode="show" />