Templatesystem

  • Guten Tag,


    ich habe heute versucht mich in das Templatesystem von Joomla einzuarbeiten.

    Da ist aber leider ein zentrale Frage offen geblieben, von der ich hoffe, dass diese hier beantwortet werden kann.


    Wenn ich jetzt beispielsweise ein klassisches Webseitentemplate erstelle, mit Header, Content und Footer, ist die index.php Datei, im Template-Ordner, doch mein zentraler Anlaufpunkt, oder?

    Wenn ich jetzt aber eine Contentseite erstelle, die sich völlig vom Aufbau des Basistemplates unterscheidet, beispielsweise eine Produktdetailseite ohne Header und Footer, muss ich doch auch auf die index.php Datei zurückgreifen, oder kann ich z.B. eine produktdetail.php erstellen und als Template nutzen?


    Vielen Dank für die Beantwortung im voraus.

  • Du kannst auch eine produktdetail.php neben der index.php im Templateordner ablegen. Paar so "alternative", joomla-übliche Layouts findet man ja z.B. schon im Protostar-Template


    component.php

    error.php

    offline.php


    Funktionsweise kannst so ausprobieren. Hänge an eine URL in der Browseradresszeile ein

    Code
    1. ?tmpl=component

    oder

    Code
    1. ?tmpl=error

    dran.

  • Vielen Dank euch beiden.


    Fand die Lösung von Indigo66 für mich am einfachsten umzusetzen.
    Dass das Seitentemplate im Menü "Menüs" ausgewählt wird - da muss man erstmal drauf kommen.


    Die Lösung von Re:Later finde ich sehr elegant, habe aber leider nicht ergründen können, wie ich den Parameter an die URL bekomme. Das entprechende Feld

    im Menü "Menüs"->"Link" ist leider nicht editierbar.

  • Am Beispiel KIategorie-Blog:


    - Alles inklusive XML-Datei(!) mit blog im Dateinamen in Override-Ordner des Templates wie üblich.

    - Dort alles "blog" in Dateinamen umbenennen in bspw. "meins".

    - XML-Datei meins.xml öffenen und bearbeiten

    ALT:

    Code
    1. <layout title="COM_CONTENT_CATEGORY_VIEW_BLOG_TITLE" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
    2. <help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
    3. <message>
    4. <![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]>
    5. </message>
    6. </layout>

    NEU:

    Code
    1. <layout title="COM_CONTENT_CATEGORY_VIEW_MEINS_TITLE" option="COM_CONTENT_CATEGORY_VIEW_MEINS_OPTION">
    2. <message>
    3. <![CDATA[COM_CONTENT_CATEGORY_VIEW_MEINS_DESC]]>
    4. </message>
    5. </layout>

    - Neue Sprachstrings anlegen, falls Lust. Ich habe sie nie.

    - Jetzt findest den neuen Menüeintrag-Typ neben den altbekannten für Beiträge bzw. com_content.


    Z.B.:

    Innerhalb

    Code
    1. <fields name="request">

    kann man weitere Felder zur Auswahl anlegen, die dann im Link-Feld als GET-Parameter erscheinen. Oder plump ein hidden- oder readonly-Feld, das einen statischen Wert enthält.


    z.B.:

    Weitere Parameter innerhalb

    Code
    1. <fields name="params">

    die man dann auch in den PHP-Ausgabe-Dateien über die params abfragen, verwenden kann.