MetaModels Workshop in Berlin
Ergebnis 1 bis 19 von 19

Thema: dma_elementgenerator - Wie eigenes Template erstellen

  1. #1
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Ort
    Viersen
    Beiträge
    16

    Standard dma_elementgenerator - Wie eigenes Template erstellen

    Hallo Zusammen,

    ich blicke als Newbie irgendwie nicht durch und komme nicht recht weiter mit meiner Seite. Unter Contao 2.10.4 habe ich die dma_extension 0.0.2 alpha1 installiert, um einen kleinen Katalog zu erstellen, der dann als Inhaltselement auf einer Artikelseite erscheint.

    Drei/vier Felder und ein Bild, dass Ganze etwas nett angeordnet. Ersatzteil-Katalog mit Teile-Nummer, einer Abbildung, der Beschreibung und noch ein Feld Bemerkung.

    Nicht spektakulär. Setup und Definition des Inhaltselementes super easy. Definition des Katalogs innerhalb eines Artikels null Problem.

    Die Ausgabe stellt die einzelnen Einträge im FE nun unformatiert(?) brav untereinander dar in Form einer UL nach dem Schema: Label, Value - eben ganz so wie vorher eingegeben.

    Wie formatiere ich das ganze nun, damit mit etwas CSS ein ansehnlicheres Stück Webseite daraus wird?

    Ich dachte, kopieren der dma_eg-default.html, umbenennen im Backend zu dma_eg_eigenes.tpl und dann über Themes/CSS die Formatierungen vornehmen?

    Aber das tut nicht?!
    Und in der original Templatedatei steht so gut wie nix drin?
    HTML-Code:
    <div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
    
    
    <ul>
      <?php echo $this->fields; ?>
    </ul>
    
    </div>
    Hab' im Forum rumgeschaut und in einem Beitrag sah die Template Datei ganz anders aus.

    Bin jetzt verwirrt und ratlos, wie anfangen, um eigenes Aussehen bei der Ausgabe der Webseite zu gestalten.

    Besten Dank für Eure Hilfe und Hinweise.

    Gruß
    /Ralf

  2. #2
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Hallo Ralf,

    in den Templates vom Elementgenerator hast du zwei Möglichkeiten. Entweder du setzt auf die generierten Einträge (so wie es im Default-Template der Fall ist) oder du baust dir ein komplett eigenes Template. Wie dies gehen kann, steht u.a. im Wiki http://de.contaowiki.org/Dma_elementgenerator

    Ich hoffe, dass dir dies als Einstieg erst einmal reicht. In der nächsten Version des Elementgenerators wird das Templating noch um einiges vereinfacht werden.

    Viele Grüße
    Janosch

  3. #3
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Ort
    Viersen
    Beiträge
    16

    Standard

    Hallo Janosch,

    danke für deine Response.

    Ich glaube, ich hab's jetzt:
    Die größte Freiheit in der Gestaltung erhält man durch Verwendung eines eigenen Templates.
    Das Template selbst listet dann via HTML die mit PHP adressierten gewünschten Elemente auf.
    Für das Layout im FE werden im Template CSS-Classes definiert, um das Aussehen zu definieren.
    Die Classes wiederum steckt man unter Layout/Themes in sein CSS.

    Ist das so korrekt verstanden oder gibt es einen besseren Ansatz?

    Besten Dank und

    lieben Gruß
    /Ralf

  4. #4
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von RalfW Beitrag anzeigen
    Die größte Freiheit in der Gestaltung erhält man durch Verwendung eines eigenen Templates.
    Das Template selbst listet dann via HTML die mit PHP adressierten gewünschten Elemente auf.
    Für das Layout im FE werden im Template CSS-Classes definiert, um das Aussehen zu definieren.
    Die Classes wiederum steckt man unter Layout/Themes in sein CSS.
    Das liest sich erst einmal völlig korrekt - so ist derzeit der einfachste Weg, dem Element die eigene Ausgabe im Frontend zu ermöglichen.

    Viele Grüße
    Janosch

  5. #5
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Ort
    Viersen
    Beiträge
    16

    Standard

    Hallo Janosch,

    danke für die Bestätigung meines Ansatzes/Verständnisses. Habe danach verfahren und kann nun eine Liste entsprechend ausgeben:

    Für Interessierte hier das umgebaute Template:
    Code:
    <div class="<?php echo $this->class; ?> parts-block"<?php echo $this->cssID; ?>
    <?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
     
    	<div class="parts-headline"><?php echo $this->labels['parts_part-number']; ?>:&nbsp;<?php echo $this->elements['parts_part-number']; ?></div>
    	<table>
    		<tr>
    			<td class="parts-picture">
    				<?php if ($this->elements['parts_part-picture']): ?>
    					{{image::<?php echo $this->elements['parts_part-picture']; ?>?height=60&max-width=100&mode=proportional&rel=lightbox
    						<?php if ($this->elements['parts_part-picture-name']): ?>&alt="<?php echo $this->elements['parts_part-picture-name']; ?>"
    						<?php endif; ?>}}
    				<?php endif; ?>
    			</td>
    			<td class="parts-description">
    				<?php echo $this->elements['parts_part-description']; ?>
    			</td>
    		</tr>
    	</table>
    </div>
    Allerdings habe ich nun ein Problem mit der Ausgabe des Bildes. Bin aber nicht sicher, ob das in diesen Thread gehört?

    Wenn vorhanden, wird ein Bild proportional verkleinert zum Ersatzteil angezeigt. Das "Original" liegt mit anderen Bildern im "Bilderverzeichnis".
    Ein Klick auf das Miniaturbild öffnet in der Lightbox (uups, das war ja einfacher als gedacht! - und ich kann ja (noch) gar kein PHP) das vergrößerte Bild.

    Problematisch ist jetzt aber, dass man in der Lightbox win in einer Gallerie vor und zurück blättern kann und das dann alle Bilder im Verzeichnis in der Lightbox dargestellt werden.

    Wie kann ich die Anzeige auf ein Bild - und nur auf das eine Bild - einschränken?
    Geht das überhaupt?
    Ist das ein Limit der Extension? Oder des Includes? Oder fehlen im Aufruf Parameter?

    Besten Dank und
    liebe Grüße
    /Ralf

  6. #6
    Contao-Nutzer
    Registriert seit
    05.12.2011.
    Beiträge
    3

    Standard Templates in Unterordnern werden nicht angezeigt

    Hallo Janosch,

    habe gerade die Version 0.0.2 alpha1 unter Contao 2.10.4 installiert und soweit läuft auch alles prima. Beim Umbenennen des (angepassten) Templates dma_eg_default.html5 in einen eigenen Namen konnte ich diesen Namen bei den Einstellungen des neuen Elementes nicht auswählen. Nachdem ich das Template dann in den Standard-Ordner /Templates kopiert hatte, wurde es gefunden. Offensichtlich wird in der Dropdown-Liste nur im /Templates Ordner nach Templates gesucht, nicht aber in dem über den Theme-Manager zugewiesenen Ordner für Templates, kann das sein?

    Das scheint jedoch nur ein Problem des Dropdowns in den Einstellungen zu sein.

    Grüße, David

  7. #7
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Ort
    Viersen
    Beiträge
    16

    Standard

    Hallo David,

    bin mir nicht sicher, ob ich Dein Problem richtig verstanden habe. Aber da ich für die "Ersatzteilliste" ein selbst angepasstes Template nutze, kann ich Dir zumindest meine Vorgehensweise bescheiben. Evtl. andere oder bessere Marschroute ist nicht auzuschließen.

    1. Bei Klick auf "NeuesTemplate" (Unter: Backend -> Layout -> Template) erscheint die Liste der vorhandenen Templates je Modul als Dropdown. Hier fällt auf, das jedes Template wohl aus drei Dateien besteht: name.html5, name.tpl, name.xhtml.

    2. Nur die HTML5-Datei steht wohl immer zu Auswahl bereit. Die anderen beiden Dateien sind mal vorhanden, mal nicht.. Für das eigene Template habe ich die passende Vorlage (z.B. als HTML5) ausgewählt und in den Ordner .../templates kopiert.

    3. Mittels z.B. WinSCP habe ich diese Datei als nächsten Schritt in eine .tpl-Datei umbenannt, sofern die Vorlage nicht als .tpl in der Liste war. Die HTML5- und TPL-Dateien scheinen wohl inhaltsgleich zu sein. Aber nur TPL-Dateien lasssen sich für eigene Seiten aus dem .../templates-Verzeichnis auswählen. Andere Endungen werden im Dropdown bei mir nicht gelistet.

    4. Diese Template-Datei kannst Du dann im Editor (WinVi.., Notepad++, ...) bearbeiten und das gewünschte Layout erstellen. HTML-, CSS-, Contao-Includes und PHP-Basics wirken hier zusammen.

    Wird dieses eigene Layout bei deiner Seite angesprochen, erscheint die Seite im FE entsprechend.

    Es gibt auch keine Verbindung zwischen den Contoa-Layouts / Originaltemplates (für die Module) und den eigenen Layouts. Du kannst also z.B. das soeben erstellte Layout noch weiter modifizieren und unter einem anderen Namen mit der Endung .tpl in den .../templates-Ordner speichern. Es steht dann sofort in der Dropdown-Liste für das Layout zur Verfügung.

    Was mir (noch) nicht klar ist: Soll/muss man eigene .tpl-Dateien auch als .html5-Dateien in diesem Ordner ablegen? Muss/kann man .xhtml-Dateien erstellen? Wenn ja, wie?

    Viele Grüße
    /Ralf

  8. #8
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Esoke Beitrag anzeigen
    Offensichtlich wird in der Dropdown-Liste nur im /Templates Ordner nach Templates gesucht, nicht aber in dem über den Theme-Manager zugewiesenen Ordner für Templates, kann das sein?
    Hallo David,

    ich werde dies mal überprüfen, kann gut sein, dass da etwas schief läuft.

    Zitat Zitat von RalfW Beitrag anzeigen
    2. Nur die HTML5-Datei steht wohl immer zu Auswahl bereit. Die anderen beiden Dateien sind mal vorhanden, mal nicht.. Für das eigene Template habe ich die passende Vorlage (z.B. als HTML5) ausgewählt und in den Ordner .../templates kopiert.

    3. Mittels z.B. WinSCP habe ich diese Datei als nächsten Schritt in eine .tpl-Datei umbenannt, sofern die Vorlage nicht als .tpl in der Liste war. Die HTML5- und TPL-Dateien scheinen wohl inhaltsgleich zu sein. Aber nur TPL-Dateien lasssen sich für eigene Seiten aus dem .../templates-Verzeichnis auswählen. Andere Endungen werden im Dropdown bei mir nicht gelistet.
    Was mir (noch) nicht klar ist: Soll/muss man eigene .tpl-Dateien auch als .html5-Dateien in diesem Ordner ablegen? Muss/kann man .xhtml-Dateien erstellen? Wenn ja, wie?
    Hallo Ralf,

    an sich sollten im Dropdown auch die html5 (resp. xhtml) Templates gefunden werden. Nutzt du die aktuelle Version (0.0.2)? An sich ist für die neueren Contao-Versionen keine tpl-Datei mehr nötig. Diese wurde durch die html5 (oder xhtml) Datei, je nach deinen Einstellungen, ersetzt.

    Viele Grüße
    Janosch

  9. #9
    Contao-Fan Avatar von manfred
    Registriert seit
    08.05.2011.
    Ort
    Schwäbisch Gmünd
    Beiträge
    541

    Standard

    Das Problem kann ich bestätigen unter Contao 2.10.3 und DMA 002. Ich habe exakt das Beispiel aus dem Wiki nachgebildet, das neu erstellte xhtml-Template läßt sich aber im Elementgenerator nicht zuordnen weil es im Drodpdown nicht erscheint. Ausgabeformat im Seitenlayout ist xhtml-strict

    Manfred

  10. #10
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von manfred Beitrag anzeigen
    Das Problem kann ich bestätigen unter Contao 2.10.3 und DMA 002. Ich habe exakt das Beispiel aus dem Wiki nachgebildet, das neu erstellte xhtml-Template läßt sich aber im Elementgenerator nicht zuordnen weil es im Drodpdown nicht erscheint. Ausgabeformat im Seitenlayout ist xhtml-strict

    Manfred
    Hallo Manfred,

    welches Problem genau? Dass sich xhtml-Templates generall nicht auswählen lassen (kann ich gerade nicht reproduzieren), oder dass sich Templates, die in einem Unterordner von templates liegen, nicht auswählen lassen (kann ich reproduzieren).

    Vielleicht kannst du mir dies kurz mitteilen.

    Danke und viele Grüße
    Janosch

  11. #11
    Contao-Fan Avatar von manfred
    Registriert seit
    08.05.2011.
    Ort
    Schwäbisch Gmünd
    Beiträge
    541

    Standard

    Hallo Janosch,
    letzteres...ein updatesicher gespeichertes Template läßt sich im Drodpdown nicht auswählen weil es nicht angezeigt wird. Themes>>Ordnerzuweisung passt natürlich.


    manfred

  12. #12
    Contao-Nutzer
    Registriert seit
    05.12.2011.
    Beiträge
    3

    Standard Workaround

    Hi zusammen,

    ich konnte das umgehen, indem ich das Template in den /Templates Ordner verschoben habe. Dann lässt es sich über das Dropdown auch auswählen. Verschiebt man es danach wieder in den zum Theme gehörigen Templates-Unterordner, funktioniert es noch immer. D.h. intern werden die Einstellungen des Themes durchaus berücksichtigt, nur in der Dropdownliste nicht.

    Grüße, David

  13. #13
    Contao-Nutzer Avatar von fipps
    Registriert seit
    18.02.2011.
    Ort
    Berlin
    Beiträge
    19

    Standard Template wird nicht in der Liste der Vorlagen angezeigt

    Wenn ich ein Template erstelle, dann wird es nicht in der Liste der Vorlagen angezeigt
    Das scheint daran zu liegen, dass in der tl_dma_eg in der pid immer 0 eingetragen wird. Dies sollte aber der ID des Themes entsprechen, damit das Template-Verzeichnis des Themes berücksichtigt wird. Im Callback steht nämlich:

    Code:
    $intPid = $dc->activeRecord->pid;
    if ($this->Input->get('act') == 'overrideAll')
      {
        $intPid = $this->Input->get('id');
      }
    return $this->getTemplateGroup('dma_eg_', $intPid);
    Die pid wird aber niemals mit der id des Themes gesetzt.

  14. #14
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Hallo zusammen,

    die ID des aktuellen Themes steht leider nur genau an den passenden Stellen (z.B. modules) zur Verfügung. Deshalb ist die Berücksichtigung der ID des Themes aus dem Elementgenerator heraus schwierig, da nicht klar ist, in welchem Layout etc. dieser eingebunden wird.

    In der neuen Version https://github.com/JanoschSkuplik/dm...ree/vers_1_0_0 ist ein Workaround für genau dieses Problem enthalten.

    Ich hoffe, dass wir diese in Kürze mal weiter optimieren können und dann endlich mal veröffentlichen können.

    Viele Grüße
    Janosch

  15. #15
    Contao-Nutzer
    Registriert seit
    25.08.2012.
    Beiträge
    5

    Standard Was macht eigentlich das "mod_dma_eg" template ?

    Hallo, Super Extension!
    Habe gerade ein Element angelegt welches ich mit einem eigenen Template ausgebe (dem angepassten dma_eg_default). Da ich in dem "dma_eg_default" Elemente in einer li /li Liste ausgeben möchte würde ich gern drumherum ein ul /ul schrieben, und da dachte ich das dies im "mod_dma_eg.html5" geschiet ? Tut es aber irgendwie nicht ? Kann mir da jmd weiterhelfen ?

  16. #16
    Contao-Fan Avatar von JanoschSkuplik
    Registriert seit
    13.08.2009.
    Ort
    Raesfeld
    Beiträge
    535
    Partner-ID
    6909
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von miloezger Beitrag anzeigen
    Hallo, Super Extension!
    Habe gerade ein Element angelegt welches ich mit einem eigenen Template ausgebe (dem angepassten dma_eg_default). Da ich in dem "dma_eg_default" Elemente in einer li /li Liste ausgeben möchte würde ich gern drumherum ein ul /ul schrieben, und da dachte ich das dies im "mod_dma_eg.html5" geschiet ? Tut es aber irgendwie nicht ? Kann mir da jmd weiterhelfen ?
    Hi, dann schreib das ul doch einfach mit in dein eigenes Template. Das mod_dma_eg-Template ist noch irgendein Überbleibsel aus einer früheren Version, das aus Kompatibilitätsgründen noch drin geblieben ist. Ich denke, dass es am einfachsten ist, wenn du dein eigenes Template komplett anpasst. Gerne kannst du es hier auch posten.

    Viele Grüße
    Janosch

  17. #17
    Contao-Nutzer
    Registriert seit
    07.12.2009.
    Beiträge
    6

    Standard Habe auch ein Problem mit der Anzeige meines erstellten Templates

    Hallo zusammen,

    ich hänge schon an einem einfachen Problem fest. Habe ein eigenes Template unter system\modules\dma_elementgenerator\templates erstellt. Leider wird es nicht im Contao-Backend im Elementgenerator angeboten. Was mach ich denn da falsch. Meine Dateien haben die Namen

    dma_eg_rr.html5
    dma_eg_rr.tpx
    dma_eg_rr.xhtml

    Für eine Tipp wäre ich echt dankbar.
    LG, Rene

  18. #18
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.613
    User beschenken
    Wunschliste

    Standard

    Du darfst im Core nichts verändern. Du darfst nur an die Ordner ROOT/files/ und ROOT/templates/ ran. Erstelle im BE ein Template indem du eines der dma_-Templates als Basis wählst. Wenn du nur eine HTML5-Ausgabe hast, reicht auch ein einziges dma_eg_xxx.html5 Template. Dieses Template müsstest du dann Bei deinen eigenen Elementen als Template zuweisen können.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  19. #19
    Contao-Nutzer
    Registriert seit
    07.12.2009.
    Beiträge
    6

    Standard Das war die Lösung

    Hallo Andreas,
    das war mein gedankliches Problem. Habe im Backend ein neues DMA-Template angelegt und nun.... alles prima. Jetzt kann ich es im Elementgenerator auswählen.

    Vielen Dank.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •