Modul parametrisierbar machen

  • Hallo zusammen,


    nach langer Zeit des "herumpfuschens" an einer bestehenden Instanz hab ich beschlossen das Website-Projekt unseres Vereins auf komplett neue Beine zu stellen.
    Dazu arbeite ich zunächst noch lokal und bin aktuell am Erstellen eines ansprechenden Templates. Dafür verwende ich das Gantry5-Framework und bastle mir "was eigenes", indem ich zusätzlich noch UIKit einbinde.


    Nun habe ich gerade jedoch irgendwie ein Problem. Nachdem auf der Website immer wieder News veröffentlicht werden, habe ich mir zunächst ein Template-Beitrag gebastelt, wie diese dann später aussehen sollen. Dabei verwende ich dann unter anderem auch wieder UIKit um z.B. solch eine Galerie (in UIKit: Lightbox) mit einzubinden. Soweit so gut und ich bin sehr zufrieden...


    Nun komme ich jedoch an den Punkt, dass ich dieses Beitrags-Template ja "möglichst einfach" gestalten will, damit auch von verschiedenen Personenkreisen (mit teilweise deutlich weniger technischen Verständnis) die Beiträge im einheitlichen Layout hinzugefügt werden können. Wie realisiere ich das nun am schlausten? Was bietet sich da an?
    Ich habe mit zunächst mit Gantry ein Particle erstellt, welches ich dann u.A. auch als Joomla-Modul in den Beitrag einfügen kann. An sich habe ich damit ein wirklich für jedermann konfigurierbares Modul erstellt. Woran ich mich nun aber vor allem "störe": Falls im Laufe der Zeit z.B. 200 Beiträge erstellt werden habe ich ja dann auch 200 Instanzen dieses Moduls. Das muss doch irgendwie mit Parametern "schöner" funktionieren oder?!
    Nachdem ich zwar technisch und Informatik-mäßig versiert bin, aber PHP-mäßig zum Beispiel absoluter Anfänger würde ich eigentlich gerne davon Abstand nehmen, mir ein eigenes Joomla-Plugin oder -Modul zu basteln. Deswegen bin ich eigentlich recht froh und glücklich, dass ich mithilfe von Gantry mit wenig Arbeit ein ansehnliches Modul erstellen konnten, welches auch "blutige Anfänger" mit einem Frontend konfigurieren können.


    Ich hoffe ich konnte mein Problem halbwegs vernünftig rüber bringen... Ich denke mein Weg über Joomla -> Gantry5 -> Particles -> als Modul in einen Beitrag einfügen ist schon sehr speziell. Bei Fragen bitte einfach melden!
    Vielen Dank für eure Unterstützung!
    Grüße, Johannes


    (Vielleicht bin ich auch aufm völligen Holzweg und jeder Joomla-Entwickler dreht sich gerade im Grab um - bitte helft mir trotzdem :saint: )

    • Hilfreich

    Wie realisiere ich das nun am schlausten? Was bietet sich da an?


    Soweit ich Dich verstanden habe, wäre das Joomla Custom Fields ideal.
    Also nicht wie bis jetzt Modulbasiert, sondern wie üblich Beitragsbasiert mit einem Kategorieblog. Mit den joomlaeigenen Felder, kannst Du Dir ein formularbasiertes Erstellen und Bearbeiten von Beiträgen für Deine Redakteure realisieren, fast ganz ohne zu coden, außer Du brauchst einen Override eines Views.

  • Soweit ich Dich verstanden habe, wäre das Joomla Custom Fields ideal.


    Sorry für die verspätete Antwort...
    Zunächst war ich noch etwas verwirrt, aber ja du hast Recht und das Feature habe ich bisher nicht wirklich beachtet bzw. mit falschen Augen gesehen ;)
    Danke für deinen Tipp!


    Damit ich dem ganzen dann noch ein vernünftiges Aussehen geben kann, muss ich wohl oder übel mich noch in Layout-Overrides einarbeiten.
    Durch Zufall bin ich auf dieses Video hier gestoßen. Dabei wird die (leider kostenpflichtige) Komponente EasyLayouts vorgestellt bzw. verwendet. Clou daran ist, dass ich damit Layouts on-the-fly mit quasi null Vorkenntnissen erstellen kann. Gibt es dafür etwas vergleichbares, oder empfehlt ihr sich lieber eigene Overrides zu erstellen?

  • Ja du sagst es, leider ist es für meine Projektgröße eigentlich zu teuer... Ich werde es aber definitv mal im Auge behalten und bin gespannt!
    Dann werde ich mich erst einmal mit PHP und Layout Overrides beschäftigen und versuchen, damit das gewünschte Ziel zu erreichen.


    Danke!

  • Was viele nicht bedenken, Easylayout kann viel mehr als nur Overrides über einen Pagebuilder zusammenbauen. Es sind auch keine Overrides im klassischen Sinne, da keine Dateien angelegt werden sondern alles in der Datenbank hinterlegt ist.
    Mit Easylayout kannst Du sämtliche Joomla-Outputs inkl. Customfields durchsuchen und eigene Suchmasken dafür erstellen.

  • Soweit ich Dich verstanden habe, wäre das Joomla Custom Fields ideal.


    Ich bin's nochmal...
    Sowei bin ich mit deiner Idee der (durchaus mächtigen) Custom Fields sehr zufrieden. :thumbup: Meine bisherigen Wünsche lassen sich damit relativ erfolgreich umsetzen. Jedoch fühle ich mich irgendwie noch "unwohl" dabei aktuell - ich schaffe es zwar, meine Ideen umzusetzten, frage mich aber andauernd ob ich das auch "schön" (im Sinne vom programmiertechnischen) mache...


    Aus folgendem Grund: Ich schaffe es zwar nun mit einigen CustomFields und einem Layout bzw. Template Override dann für den unbedarften Ersteller eines Beitrags wie von unsichtbarer Hand aus den ganzen Eingaben eine schöne Seite zu basteln (z.B. Bildergalerien erzeugen etc). Was mich daran irgendwie stört: Im Endeffekt schreibe ich das Layout fast wirklich komplett neu, nur noch wenige Teile werden vom ursprünglichen Layout übernommen... Sind die Overrides tatsächlich dafür gemacht, oder eher um "kleinere" Änderungen einzupflegen? Vor allem frage ich das auch im Bezug mehr oder weniger auf Sicherheit, nicht dass ich bei meinen Umbauarbeiten sicherheitsrelevante Funktionen von Joomla aushebeln könnte von denen ich nur nichts verstehe...


    Vermutlich wäre der schönere (bessere?) Schritt das ganze dann in einem extra Modul oder Änhlichem zu basteln oder?! Dafür fehlt mir aber wohl die Zeit, Programmierkenntnisse und die Muße...


    Danke nochmals!

  • @Indigo66 Danke :thumbsup: Dann bin ich ja auf'm richtigen Weg...


    Nochmal bzgl. Sicherheit: So lange ich den ersten Teil, insbesondere

    Code
    defined('_JEXEC') or die;

    unverändert lasse (und keine neuen selbst implementierten Funktionen verwende) kann mir vermutlich nicht viel passieren oder?


    Noch eine Frage: Gibt es Tipps bzgl. "sauberem" Programmieren mit PHP/HTML? Aktuell stehen bei mir in der PHP-Datei auch längere Textpassagen (also reiner Inhalt). Das Ergebnis passt so einwandfrei, aber ich vermute mal auch dort wäre es irgendwie sinnvoll Inhalt und Layout zu trennen?!