Eigenes Modul für Download-Sektion erstellen (sofern dies am sinnvollsten)

  • Hallo zusammen,


    einige kennen mich ja jetzt bereits, da ich die Tage etwas öfter hier unterwegs bin. Teste gerade mit der Joomla 4 Beta 2 ein paar Dinge und möchte folgendes mit Euch zusammen kurz durchsprechen. Auf meiner derzeitigen Webseite (Joomla 3) habe ich einige Download Bereiche die alle immer gleich aufgebaut sind. Der Downloadbereich am Ende wie bspw. hier - https://holzmann-cfd.com/community/training-cases/gin-tonic - wird von einem eigenen PHP Code generiert. Um das umzusetzen hat jeder Artikel eine Einbindung der php Datei mit dem sourcerer Plugin. Sieht dann quasi wie folgt aus:


    PHP
    {source}
    <?php
    $file = "ginTonic";
    $keyword = "cases";
    $incPath = __DIR__ . "/../costumePhp/costumeDownload.php";
    include "$incPath";
    ?>
    {/source}


    Heißt also im Klartext, die costumeDownload.php auf meiner Seite verwendet die zwei Variablen $file und $keyword, die bei jedem Artikel anders sind (zumindest $file). Jeder Training Case hat eben einen anderen Namen :) ... Das klappt auch ganz gut nur hab ich jetzt folgendes gedacht

    • Anstelle das Sourcer-Plugin zu verwenden könnte ich ein eigenes Modul erstellen
    • Dieses Modul wird dann in jedem Artikel eingebunden und übernimmt die ganze Arbeit (ähnlich wie jetzt, nur das es eben ein Modul wäre und nicht mittels Sourcer eingebunden)
    • Ich könnte im Modul dann über die Artikel-ID eine Verknüpfung zum Namen generieren, damit wäre das Thema "Parameterübergabe" schon mal geklärt

    Die Frage die ich mir stelle ist:

    • wäre dies eine elegantere und sauberere Lösung als meine derzeitige Umsetzung mit dem Sourcerer? Gerade habe ich das Bedenken das beide Ansätze mehr oder weniger identisch sind
    • Ist ein Modul hierfür die korrekte Umsetzung? Falls ja, würde ich mich hier mal etwas belesen
    • Alternativ würde ich das wohl in meiner Joomla 4er Version dann so belassen (allerdings scheint beim 3er das Smart-Search-Plugin damit ein Problem zu haben)


    Tobi

  • Es gibt sicher unterschiedliche Meinungen. Ich habe zu Beginn meiner Joomal Zeit einmal gelernt:


    Eine Komponente schreibt man, wenn man im Inhaltsbereich etwas anzeigt; quasi einen Menüpunkt braucht.

    Ein Modul nutzt man, um an unterschiedlichen Stellen flexibel Dinge anzuzeigen.

    Ein Plugin verändert kleinere Inhaltsbereiche oder fügt Funktionalitäten hinzu.


    Somit wäre ein Plugin das Mittel der Wahl in deinem Fall - wenn du bei Joomla bleiben magst.


    Ein Super Buch für Plugins (Joomla 3) ist dieses:

    https://www.amazon.de/Programm…anted-About/dp/9082278707


    Das gab es einmal kostenlos im Netz RE: oncontentprepareform in FieldPlugin.

  • Hallo Astrid,


    dann wäre - wie Du sagst - das Plugin die Wahl. Mir ist jedoch gerade noch folgendes Schleierhaft. Wenn ich das Plugin erstelle, ist es dann im Frontend die ganze Zeit aktiv oder wie kann ich mir das vorstellen? Bei einem Modul ist mir das klar. Ich kann hier ja definieren, wo das Modul plaziert wird und auf welchen Seiten das aktiv ist; auch kann ich mit {loadmoduleid xyz} das Modul direkt in einen Artikel laden. So habe ich das derzeit auf meiner aktuellen Seite gelöst. Allerdings eben über das {sourcerer} Plugin, dass ich eigentlich nicht mehr verwenden möchte.

    Tobi


  • ...auch kann ich mit {loadmoduleid xyz} das Modul direkt in einen Artikel laden. So habe ich das derzeit auf meiner aktuellen Seite gelöst. Allerdings eben über das {sourcerer} Plugin, dass ich eigentlich nicht mehr verwenden möchte.

    Ein Sourerer-Plugin wird dafür nicht benötigt: https://docs.joomla.org/How_do…e_inside_an_article%3F/de


    Und wenn du ein Plugin erstellst und es aktiviert wird, so ist es immer aktiv.

  • Nachtrag zu Sourcerer: In #1 hattest du es ja bereits korrekt geschrieben. Da hatte ich den letzten Beitrag wohl falsch interpretiert.


    Ein aktives Joomla-Plugins muss nicht zwingend auf einer Seite angewendet werden. Falls nicht, dann ist es im Frontend auch nicht aktiv. Weiß gerade nicht, wie ich das besser ausdrücken könnte.

  • Okay ich habe hier zwei Themen die ich behandeln möchte:


    1. Meinen Visitor Counter einbetten (ohne Sourcerer)
    2. Meine Download Link-Generierung

    Der Visitor Counter ist in einem Costum-Module platziert. In diesem Modul lade ich mit {sourcerer} meine PHP die mir die ganze Sache bezüglich Visitor etc. analysiert und mit der Datenbank kommuniziert.

    Beim Download-Link Generator, ist in jedem Artikel ein {sourcerer} Teil enthalten, dass zwei Parameter übernimmt und dann die entsprechende PHP Datei läd.

    In beiden Fällen möchte ich von dem {sourcerer} Plugin absehen und das anders lösen. Beim Visitor Counter wäre meine Lösung wohl ein neues Modul zu erstellen, dass ich dann an entsprechender Stelle einbauen kann. Beim der Download Link-Generierung bin ich mir noch nicht ganz sicher wie ich das umsetzen sollte. Allerdings schätze ich, dass ich über ein Modul hier auch guter Dinge bin.

    Aber bevor ich mich festlege, lese ich Deinen verlinkten Beitrag. Vielleicht hilft mir der ja schon weiter :) (<< hab ich schon gelesen und verwende das schon). Danke trotzdem für die Info.

    Tobi


    Nur kurz als Nachtrag. Ist es möglich in einem eingebunden Modul die Info abzurufen, welcher Artikel das Modul aufgerufen hat? Bspw. welche ID oder wie der Name des Artikels heißt?

    Tobi