Mittels Joomla API ein neues Beitrags-Feld erstellen

  • Joomla Version
    5.2.2.
    PHP Version
    PHP 8.3.x
    Hoster
    Lokal

    Hallo zusammen

    Erst mal allen ein Gutes neues Jahr.

    Ich versuche mittels Joomla API, ein neues Beitragsfeld zu erstellen.

    Mein JSON sieht wie folgt aus:

    {
    "fieldparams" :
    {
    "options" :
    {
    "options0" :
    {
    "name" : "Montag",
    "value" : "Dienstag"
    },
    "options1" :
    {
    "name" : "Dienstag",
    "value" : "Anwesend"
    },
    "options2" :
    {
    "name" : "Donnerstag",
    "value" : "DoDoAnwesend"
    }
    }
    },
    "group_id" : 0,
    "label" : "",
    "language" : "*",
    "name" : "farbe",
    "required" : 0,
    "state" : 1,
    "title" : "Farbe",
    "type" : "checkboxes",
    "typeAlias" : null
    }

    Nun bekomme ich eine Fehlermeldung:

    {"errors":[{"title":"Save failed with the following error: Another Field has the same name (remember it may be a trashed item or it may be already present as a custom field in another extension).","code":400}]}


    Wenn bereits ein "Feld" erstellt ist, und ich dies mit der gleichen JSON-Form update, bekomme ich keinen Fehler und alles ist ok (Da ist natürlich auch noch die "id" dabei).

    Nehme ich den "title" raus, bekomme ich die Meldung, dass "title" fehlt.

    {"errors":[{"title":"Field required: Title"}]}


    Was mache ich falsch?

    Ich stelle es mit "-X POST"


    Beträge, Feldgruppen und Tags kann ich problemlos erstellen.


    Danke für eure Hilfe.


    gruss mittendurch

  • {"errors":[{"title":"Save failed with the following error: Another Field has the same name (remember it may be a trashed item or it may be already present as a custom field in another extension).","code":400}]}

    Hi aber ist die Meldung nicht eindeutig? Es gibt wohl ein Feld mit dem Namen schon? Oder verstehe ich nur die Frage nicht?

    Versuch es mal wenn du einen an deren namen als "farben" also z.B. farben2 verwendest und erstellen kann man ein Feld immer nur einmal

  • Hi aber ist die Meldung nicht eindeutig? Es gibt wohl ein Feld mit dem Namen schon? Oder verstehe ich nur die Frage nicht?

    Versuch es mal wenn du einen an deren namen als "farben" also z.B. farben2 verwendest und erstellen kann man ein Feld immer nur einmal

    Hallo zero24


    Leider hilft dies nicht.

    Ich habe es auch schon mit "Farbe1" versucht. Die bei beiden Feldern und ich bekomme immer dieselbe Fehlermeldung.

    "name" : "farbe1",
    "title" : "Farbe1",


    Aber Danke für den Hinweis.


    gruss mittendurch

  • Hi,

    ja das ist korrekt wenn du es bereits damit versucht hast kommt auch diese Meldung? Versuch es bitte mit einer Zahl am Ende welche du bis jetzt nocht nicht verwendet hast z.B. "farbe7515462456524". Da sollte dann beim ersten Mal diese Meldung nicht kommen sondern das Feld angelegt werden. Beim zweiten Mal (mit den selben Namen) kommt es dann natürlich zu der Fehlermeldung da das Feld ja bereits beim ersten Mal angelegt wurde.

    Wenn du im Backend schaust (auch im Papierkorb) findest du dann einen Eintrag mit dem genannten Namen?

    Kannst du im Backend (ohne API) mit den selben Einstellungen und Namen ein Feld anlegen? Und wenn nein was kommt dann für eine Meldung?

  • Hi

    Die Werte, mit denen ich versucht habe, sind alle nicht vorhanden.

    Wenn ich "Farbe1234" über Web erstelle, funktioniert es. Wenn ich "Farbe12345" über API erstelle, bekomme ich IMMER die Fehlermeldung.

    Interessant ist auch, dass es bei allen Feldern nicht funktioniert. Also auch bei Kontaktfeldern.

    Sehr komisch. Es ist nicht schlimm, da ich dies nicht unbedingt über API machen muss. Der Vorteil wäre einfach, dass wenn ich die HomePage von Test auf Prod schiebe, kann ich Prod alles neu installieren und aufsetzen und den Inhalt via API schieben... Na ja.

    gruss mittendurch