Abfrage von benutzerdefinierten Felder der Benutzer

  • Hallo zusammen,


    für ein Formular habe ich den Namen des eingeloggten Users über den folgenden Code abfragen können:

    PHP
    <?php $string = ""; $string .= JFactory::getUser()->get('name'); return $string ?>


    Welches Feld anstelle von 'name' muss abgefragt werden, wenn ich die aktuellen User Zusatzfelder aus der Benutzerverwaltung (die ich unter Benutzer > Felder erstellen kann).

    Ich habe irgendwie nur umständliche Abfragen der Art gefunden, wo ich erst den Benutzer rausbekommen muss, dann die BenutzerID und dann darüber erst irgendwie die Benutzerdefinierten Felder.


    Gibt es hier nicht wirklich was einfaches, in so nem "Einzeiler" (wenn man das mal so bezeichnen darf) :-)
    Habt ihr Ideen?

  • okay, da in dem Beispiel geht es ja um die zusätzlichen Informationen im Override für Beiträge.


    Ich bräuchte sie nur für ein PHP-Skript, welches mir die Daten vorausfüllt für ein Formular, welches ich mit dem PHP-Skript aufbaue.

    Daher habe ich die Hoffnung gehabt, dass es einfacher geht :-(


    Hatte die Hoffnung, dass es irgendwie im Style

    Code
    JFactory::getUser()->get('name')

    geht.


    Aber anscheinend gibt es nicht sowas wie

    Code
    JFactory::getUser()->get('Zusatzfeldname')


    Das bedeutet ich muss mir als erstes die UserID auslesen, darüber dann die Zusatzfeld-Information abfragen?


    Darf ich mal blöd fragen, ob das evtl. in der Joomla 4 einfacher möglich wird?


    Danke schon mal für den Tipp

  • Darf ich mal blöd fragen, ob das evtl. in der Joomla 4 einfacher möglich wird?

    Ich sage nicht, dass es nicht echt blöde (=nervig) ist, dass die FieldsHelper nicht was drinnen haben, was solche Abfragen ohne Verwirrung und Gefluche möglich macht, noch dazu, wenn man bspw. auch noch mit Feldgruppen arbeitet, nach denen man filtern (nicht nur sortieren/gruppieren!) möchte, aber, jetzt die Antwort, wohl nein, weil eben im Joomla-Core selbst kein Bedarf besteht. Noch weniger bei Benutzern als bei Artikeln.


    Wenn mir jetzt jemand widerspricht, bin ich natürlich hoch erfreut ;-)


    Musst dir also selber Helper-Klassen schreiben müssen, wenn du so was öfter benutzen willst und dir beim nächsten Projekt die Abfragen erleichtern willst. Eigenes hat oft den Vorteil, dass du es eben bei Bedarf selbst erweitern kannst. Grundlegendes Problem ist ja meist die komplexe Struktur der Felder-Komponente, -Plugins und des resultierenden Datenbankaufbaus, wenn man mal eben dann wenigstens eine eigene Datenbankabfrage basteln will. Z.B. nur Felder, dann noch nach Namen, für mehrere Benutzer ziehen, wenn Benutzer in betr. Feldgruppe überhaupt Felder belegt haben. Das beschäftigt einen dann schon, je nach Skills, unverhältnismäßig lange; irgendwie...

  • Benutzen kann man z.B. wohl auch etwas wie:


    aus: https://www.techfry.com/joomla…e-custom-fields-in-joomla


    wobei wohl wie nachfolgend abändern wenn

    rawvalue benötigt wird:

    Zitat
    Code
    foreach ($fields as $field)
    {
    $custom[$field->name] = array('id' => $field->id, 'name' => $field->name, 'label' => $field->label, 'value' => $field->rawvalue);
    }

    Ich habe aber bisher nichts davon benötigt oder getestet.


    Außerdem anschließend wohl auch noch sinnvoll?

    Code
    // Felder-Werte in Registry-Object. Spart ggf. isset-Prüfungen bzw. warnings.
    $custom = new Joomla\Registry\Registry($custom);

    Ich bin aber nur Laie.