Dma elementgenerator: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Template anlegen)
(Template anlegen)
Zeile 45: Zeile 45:
 
<source lang="php">
 
<source lang="php">
 
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?>
 
<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?>
<?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
+
  <?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
  
 
+
  <h1><?php echo $this->elements['titel']; ?></h1>
<h1><?php echo $this->elements['titel']; ?></h1>
+
  
 
<?php if ($this->elements['bild']): ?>
 
<?php if ($this->elements['bild']): ?>
 
 
   <!-- teaserstart -->
 
   <!-- teaserstart -->
 
       <div class="image_container">
 
       <div class="image_container">
Zeile 59: Zeile 57:
 
       </div>
 
       </div>
 
   <!-- teaserend -->
 
   <!-- teaserend -->
</div>
 
 
 
<?php endif; ?>
 
<?php endif; ?>
  
Zeile 69: Zeile 65:
 
</div>
 
</div>
 
   </div>
 
   </div>
<!-- teaserend -->
 
 
</source>
 
</source>
  

Version vom 7. September 2010, 20:09 Uhr

Beispiel

Element erstellen

Nach der erfolgreichen Installation wählt man zunächst den neuen Menüpunkt "Elementgenerator" unterhalb von Layout.
An dieser Stelle lassen sich Elemente erstellen, die völlig unabhängig voneinander strukturierte Inhalte ausgeben. Wir klicken also auf die Schaltfläche "Neues Element" und füllen die Maske wie folgt aus:
Bezeichnung = Buch Kategorie = Layouts Template = dma_eg_default (temporär) Als Inhaltselement bereitstellen auswählen
Die Bezeichnung dient nur der internen Verwaltung im Backend. Auch der Name der Kategorie ist frei wählbar und ordnet die Datensätze mit gleicher Bezeichnung innerhalb der Auswahl des Elementtyps im Bereich der Inhaltselemente. Das Template lassen wir vorübergehend so, bis wir später ein eigenes Template für den Datensatz erstellen.
Der Datensatz lässt sich selbstverständlich auch als Modul bereitstellen. Somit kann man diesen beispielsweise auch direkt im Seitenlayout verlinken.

Felder hinzufügen

Nun legen Sie Felder an, die Sie ausgeben möchten. Die Auswahl ähnelt der von Formularen: Legende, Textfeld, Textarea, Auswahlliste, Checkboxen, Radiobuttons, Seitenauswahl, Dateiauswahl
Als nächstes legen wir ein Textfeld und füllen es folgendermaßen aus:
Beschriftung = Titel Feldname = titel Beschreibung = Bitte vergeben Sie für das Buch einen Titel
Danach ein Textarea mit diesen Daten:
Beschriftung = Beschreibung Feldname = beschreibung Beschreibung = Bitte beschreiben Sie das Buch Zeilen = 5 Spalten = 100
Letzlich noch ein Feld "Dateiauswahl" zur Generierung eines Bildes:
Beschriftung = Bild Feldname = bild Beschreibung = Wählen Sie ein Bild aus Vorgabe = (hier könnte man ein Default-Bild angeben) Art der Auswahl = ft_radio Pfad = Pfad/zum/Bild.jpg

Template anlegen

Nun liegt uns ein Datensatz vor mit drei Feldern, die wir in einem Template abfragen möchten. Unter Layout/Templates legen wir ein neues Template auf Basis des Originaltemplates "dma_eg_default.tpl" und weisen diesem das jeweilige Zielverzeichnis zu.

<div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?>
   <?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
 
   <h1><?php echo $this->elements['titel']; ?></h1>
 
<?php if ($this->elements['bild']): ?>
   <!-- teaserstart -->
      <div class="image_container">
         <img src="<?php echo $this->elements['bild']; ?>" alt="<?php echo $this->elements['titel']; ?>" width="150" />
      <div class="caption"><?php if ($this->elements['titel']): ?>
         <?php echo $this->elements['titel']; ?><?php endif; ?></div>
      </div>
   <!-- teaserend -->
<?php endif; ?>
 
<div>
   <!-- teaserstart --> 
      <?php if ($this->elements['beschreibung']): ?><?php echo nl2br($this->elements['beschreibung']); ?><?php endif; ?>
   <!-- teaserend -->
</div>
   </div>



--Carino 21:00, 07. Sept. 2010 (UTC)

Ansichten
Meine Werkzeuge

Contao Community Documentation

God: "what is your job?"
me: "i am a software developer ... i develop websites with Contao 3"
God: "sounds cool, what are you working on today? Web sockets? Ajax? HTML5 video streaming?"
me: "no, i am trying to send an email ...."

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge