Joomla 4 User ID - eigenes Script in eigenem Ordner

  • Hallo,


    als Übung habe ich ein eigenes Script in einem Unterordner " root/assets/scripts" erstellt.


    Nun geht es darum, die aktuelle User ID des angemeldeten Joomla 4.1.4 Nutzers zu erhalten.


    Frage:


    Warum funktioniert folgendes Script nicht und wie komme ich an die User ID?


    Ich gehe davon aus, daß ich die Factory Klasse benötige, weiss aber leider nicht wie ich diese korrekt einbinde.


    Die Pfadangaben zu...

    Code
    require_once JPATH_BASE . '/includes/defines.php';
    require_once JPATH_BASE . '/includes/app.php';
    require_once JPATH_BASE . '/includes/framework.php';

    ...scheinen korrekt zu sein. Allerdings wird, wenn ich die require_once Zeilen nutze, danach nichts mehr ausgegeben.


    Habe nun schon 2 Tage im Netz nach einer Lösung gesucht, aber leider nichts gefunden.

  • Würde mir für den Moment helfen, aber mein Ansatz ist ein anderer.


    Sollte es wiedererwarten einmal gute Tutorials für Joomla 4 Module geben (damit meine ich nicht Hello World), würde ich bestehende Skripte in ein Modul portieren. Ich möchte aber auf eigene OOP Klassen aufbauen und nur das nötigste aus Joomla holen, damit das Programmierte ggf. auch anderswo eingesetzt werden kann. Ich kenne mich einfach zu wenig mit der Joomla API aus und finde auch keine guten Anleitungen (Videos) diesbezüglich.


    Programmieren ist eher ein Hobby und derzeit setzte ich mich mit OOP (Klassen/Methoden/PDO) auseinander, um kleine Stand Alone Skripte zu schreiben.

  • JoomlaWunder


    Danke. Bis zum exit; scheint es nun zu funktionieren.


    Nehme ich das exit; raus und versuche an die User ID zu kommen, erhalte ich:


    Sorry, there was a problem we could not recover from.

    The server returned a "500 - Whoops, looks like something went wrong."


  • Oha...die require_once Pfade scheinen sich Case Sensitive zu verhalten.


    Ich habe die Factory Klasse gefunden und eingebunden, funktioniert aber immer noch nicht, wenn ich das exit; rausnehme.


    Da scheint noch etwas zu fehlen.


  • So, es funktioniert. Was ein Krampf :)


    Geholfen hat mir der folgende Beitrag eines Nutzers.


    Wer es nutzen möchte, sollte ausgehend von dem Ordner in dem das Skript liegt nach oben zum Joomla root zählen und den Wert 2 anpassen:


    Code
    define('JPATH_BASE', dirname(__DIR__, 2));



  • Hallo Astrid. Vielen Dank für den Tip.


    Aktuell übersteigt das noch meine Fähigkeiten.


    Derzeit stecke ich mitten in PHP/PDO/OOP/MVC und würde eine weiteren Versuch in Richtung Joomla Module wagen. Leider konnte ich, bis auf einfache Hello World Module, noch keine brauchbaren Tutorials finden. Die Suchmaschine findet leider immer nur alte Tutorials und keine umfassenden Kurse. Ich lerne am besten über Video-Tutorials und learning by doing. Bücher sind mir zu trocken :) Ich könnte mir natürlich bestehende Module anderer Entwickler anschauen, dafür brauche ich aber mehr Grundlagen in den genannten Bereichen und natürlich Joomla 4 API.


    Be water my friend.

  • Sollte es wiedererwarten einmal gute Tutorials für Joomla 4 Module geben (damit meine ich nicht Hello World), würde ich bestehende Skripte in ein Modul portieren.

    Warum dann nicht einfach mit der einfachsten der einfachen Varianten einsteigen?

    Joomla-Modul-Override für Einbinden beliebiger Codes - GHSVS-Dein Web mit Mehr
    Mit eigenem Modul-Override + Joomla-Plugin "loadmodule" in Beiträge jedweden Code laden. Oder Joomla-Framework in PHP ohne Extracode nutzen.
    ghsvs.de