Mehrere Strukturelemente gleichzeitig einfügen
27. Oktober 2011
struktureditor strukturelement element einfügen gleichzeitig mehrere editor bearbeitung
Sollten mehrere Elemente in einer Seite auf einen Klick eingefügt werden, legen Sie ein eigenes Strukturelement als Container an.
Um in der Seitenbearbeitung gleich mehrere Strukturelemente auf einmal einzufügen, fassen Sie diese in einem umschliessenden Element zusammen.
Legen Sie hierzu ein Mastertemplate-Element an, z.B.:
/[IHR-LAYOUT-PROJEKT]/wGlobal/mastertemplates/items/list.container.wItemMastertemplate.php
Die gewünschten Elemente, die mit einem Klick eingefügt werden sollen, umschliessen Sie mit einem wd:item Element, das folgendes Attribut beinhaltet:
insertType="onlyInner"
Beim Einfügen dieses Elementes über den Struktureditor (siehe auch weiterführende Links) wird das umschliessende wd:item gelöscht und die darin befindlichen Strukturelemente in die Seite eingefügt.
Auf diese Weise können Sie - wie nachfolgend beispielhaft angeführt - ein Element anbieten, dass beim Einfügen folgende Elemente auf einmal einfügt:
- Schaltfläche, um die Dateiverwaltung zu öffnen
- Schaltfläche, um eine Datei zu erstellen
- Listen mit Dateien (Listenelement)
Passen Sie die Pfade im Beispiel an Ihre Pfade an!
Beispiel: Inhalt eines Strukturelementes, das als Container fungiert (list.container.wItemMastertemplate.php)
<?php $version="1.0"; $encoding="UTF-8"; ?> <?php exit; ?> <wd:document xmlns:wslMastertemplate="http://weblication.de/5.0/wslMastertemplate" xmlns:en="/en" xmlns:fr="/fr" xmlns:wsl="http://weblication.de/5.0/wsl" xmlns:wd="http://weblication.de/5.0/wd" version="1.0" type="page.standard"> <wd:extension type="weblication" version="5.0" uid="3bb403668279d4b193ef278a653807a8"> <wd:meta> <wd:title>Liste mit Dateien inkl. Schaltflächen</wd:title> <wd:description/> <wd:modification name="admin" time="1284540010"/> <wd:creation name="admin" time="1252018717"/> <wd:icon src="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/images/element-icons/element_list.gif"/> <wd:sorting value="600-200"/> </wd:meta> <wd:mastertemplate> <wd:contentGroup name="content1"/> <wd:contentGroup name="content2"/> <wd:contentGroup name="content3"/> <wd:contentGroup name="content4"/> <wd:contentGroup name="content5"/> <wd:contentGroup name="container"/> <wd:contentGroup name="formContainer"/> </wd:mastertemplate> <wd:personalization> </wd:personalization> <wd:status> <wd:online from="" status="on" to=""/> <wd:type value=""/> </wd:status> <wd:version value="3"/> <wd:cache expires="{wGetValueOfDefaultExtension()}"/> </wd:extension> <wd:group> <wd:item insertType="onlyInner" name="Liste mit Dateien inkl. Schaltflächen" en:name="List with buttons" icon="/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/images/element-icons/element_list.gif" type="list.container"> <wd:item type="button.filemanager"> <wd:fragment id="title" type="char.text"/> <wd:fragment id="display" type="char.display"/> <wd:fragment id="icon" type="char.text"/> <wd:fragment id="caption" type="char.text">Bestehende Einträge verwalten</wd:fragment> <wd:fragment id="class" type="char.text"/> <wd:fragment id="style" type="char.text"/> <wd:fragment id="path" type="src.dir">$wMastertemplateInsert['projectPath']/list_$wMastertemplateInsert['rand']</wd:fragment> </wd:item> <wd:item type="button.createFile" uid="541b1acc8606fce6f989d93d5776793b"> <wd:fragment id="title" type="char.text"/> <wd:fragment id="display" type="char.display"/> <wd:fragment id="icon" type="char.text"/> <wd:fragment id="caption" type="char.text">Neuen Eintrag erstellen</wd:fragment> <wd:fragment id="class" type="char.text"/> <wd:fragment id="style" type="char.text"/> <wd:fragment id="destDir" type="src.dir">$wMastertemplateInsert['projectPath']/list_$wMastertemplateInsert['rand']</wd:fragment> <wd:fragment id="destName" type="src.dir"/> </wd:item> <wd:item type="list.standard" uid="c933d718943c56550f5cba30d95e526a"> <wd:fragment id="listtemplate" type="src.file">/[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/lists/default.wFilelist.php</wd:fragment> <wd:fragment id="entriesPage" type="char.text">10</wd:fragment> <wd:fragment id="limitPages" type="char.text">10</wd:fragment> <wd:fragment id="orderBy" type="char.text">/wd:extension/wd:meta/wd:publication/@time</wd:fragment> <wd:fragment id="orderDir" type="char.text">desc</wd:fragment> <wd:fragment id="orderType" type="char.text">nat</wd:fragment> <wd:fragment id="dir" type="src.dir">$wMastertemplateInsert['projectPath']/list_$wMastertemplateInsert['rand']</wd:fragment> <wd:fragment id="dirRecursive" type="src.dir"/> <wd:fragment id="listTemplatesClass" type="char.default">default</wd:fragment> <wd:fragment id="file" type="src.default"/> <wd:group id="filters"/> <wd:fragment id="allowSelf" type="char.default"/> <wd:fragment id="filterOperator" type="char.default">and</wd:fragment> </wd:item> </wd:item> </wd:group> </wd:document>
Weiterführende Links
- Wie füge ich mehrere Strukturelemente gleichzeitig per Klick in eine Seite ein?
- Lege ein eigenes Strukturelement als **Container** (Mastertemplate-Element) an und fasse die gewünschten Elemente in einem umschliessenden Container-Element zusammen. So kannst du einen Klick nutzen, um mehrere Strukturelemente auf einmal einzufügen.
- Wie sammle ich die einzufügenden Elemente in einem Container?
- Umschliesse die gewünschten Strukturelemente mit einem <code class="codeInline">wd:item</code> Element und setze dabei das Attribut **<code class="codeInline">insertType="onlyInner"</code>**. Beim Einfügen über den Strukturereditor wird das umschliessende <code class="codeInline">wd:item</code> gelöscht und die darin befindlichen Strukturelemente werden in die Seite eingefügt.
- Was bedeutet <code class="codeInline">insertType="onlyInner"</code> beim Container-Item?
- Mit <code class="codeInline">insertType="onlyInner"</code> sorgt du dafür, dass beim Einfügen das umschliessende Container-<code class="codeInline">wd:item</code> entfernt wird und nur die **inneren** Strukturelemente tatsächlich in die Seite übernommen werden.
- Wo lege ich ein entsprechendes Mastertemplate-Element für einen Container an?
- Lege ein Mastertemplate-Element an, z.B.: <code class="codeInline">*/[IHR-LAYOUT-PROJEKT]/wGlobal/mastertemplates/items/list.container.wItemMastertemplate.php*</code> (Dabei musst du den Pfad an deine Projektpfade anpassen.)
- Kann ich mit einem Container-Element auch mehrere UI-Elemente (z.B. Buttons und Listen) gleichzeitig einfügen?
- Ja. Beispielsweise kann ein Container beim Einfügen mehrere Elemente bereitstellen, etwa: - eine Schaltfläche zum Öffnen der Dateiverwaltung - eine Schaltfläche zum Erstellen einer Datei - eine Liste mit Dateien (Listenelement) Im Beispiel werden dafür entsprechende <code class="codeInline">wd:item</code>-Elemente innerhalb des Containers verwendet.
- Welche Konfiguration ist im Beispiel für die Inhalte eines Container-Strukturelementes enthalten?
- Im Beispiel ist der Container als <code class="codeInline">type="list.container"</code> umgesetzt und enthält mehrere innere Elemente, u.a.: - <code class="codeInline">wd:item type="button.filemanager"</code> (mit <code class="codeInline">path</code> zum Verzeichnis) - <code class="codeInline">wd:item type="button.createFile"</code> (Zielverzeichnis wie <code class="codeInline">destDir</code>) - <code class="codeInline">wd:item type="list.standard"</code> (u.a. mit <code class="codeInline">listtemplate</code>, <code class="codeInline">dir</code>, Sortierung wie <code class="codeInline">orderBy</code>/<code class="codeInline">orderDir</code>, sowie Pagination/Limit über <code class="codeInline">entriesPage</code> und <code class="codeInline">limitPages</code>)