Seite 1 von 1

Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Fr 28. Okt 2022, 20:08
von netzlum
Hallo zusammen,
ich habe kürzlich ein älteres Projekt von 7.x auf WE 9.1.2 aktualisiert. Redakteure können über ein Frontendformular neue Objekte anlegen bzw. bestehende edititeren. In den Objekten gibt es ein Feld vom Typ Objekt zur Verknüpfung mit Objekten einer anderen Klasse. Wenn im Frontend die ID des referenzierten Objekts übergeben wird, wird durch write der Wert in der Datenbank nicht gespeichert. Das Datenbankfeld wird auf 0 gesetzt.
Es gibt in diesem Zusammenhang keinen Fehler im Fehlerlog. Die anderen Felder werden korrekt gespeichert bzw geändert.
Hat jemand eine Idee, woran das liegen könnte und was ich übergeben muss, damit durch we:write die ID des referenzierten Objektes gespeichert wird.
Ich habe schon alle möglichen Anpassungen versucht und bin dankbar für jeden Hinweis.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Fr 28. Okt 2022, 20:35
von blickfang
Hi,

ich würde behaupten, dass das aktuell nicht mit Bordmitteln funktioniert. Du musst dir nach den we:write die Id des Objekts abholen und dann selbst das Objekt nochmals um die Referenz aktualisieren.

Oder du baust die selbst ein eigenes we:write tag, welches das dann für dich alles erledigt, dann hast du das Prozedere nicht ggf. an n-Stellen in unterschiedclichen Templates stehen.

VG, Timo

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 08:04
von netzlum
Hallo Timo,
danke für Deine Antwort. Aber was hat sich denn geändert in den letzten WE-Versionen? In früheren Versionen hat das Speichern der Objektreferenzen ja so funktioniert. Das ist in der DB ja auch nur ein Integer-Feld.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 09:34
von netzlum
OK, ich habe jetzt dem Feature-Request 13650 entnommen, dass das Auswählen im Frontend über ein Select nicht möglich ist. In meinem Fall steht aber die Relation zum Objekt der anderen Klasse bei jedem FE-User fest. Ich möchte sie im Hintergrund als ID über ein hidden Userinput übergeben. Sie kommt aber nicht in der Datenbank an. Weder beim Neuanlegen eines Objektes noch beim Editieren. Im FE-Formular wird die ID aber korrekt aus der DB geholt. Sie wird nur nicht wieder in das DB-Feld geschrieben, sondern das Feld wird auf 0 gesetzt.
Ist das vielleicht ein Bug?

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 11:19
von mokraemer
Da es im FE keinen Feldtyp für Objekte gibt, wird das vermutlich auch nicht verarbeitet.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 12:06
von netzlum
Na, in gewissen Sinn wird es schon verarbeitet: Wenn ich im BE ein Objekt anlege und darin über das Objektfeld ein anderes Objekt referenziere, dann wird diese Referenz überschrieben, sobald ich das Objekt im FE in bearbeite und das FE-Formular ein Userinput-Feld mit dem Namen des referenzierten Objekts enthält. Das wird dann auf den Wert 0 gesetzt.
Damit ist das Elternobjekt dann nicht mehr korrekt.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 12:16
von mokraemer
wenn du uns den Bug einreichst und so vorbereitest, das wir es debuggen können, kann man das auch beheben.
Ich hab nirgendwo etwas um Objekte im FE zu bearbeiten.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 13:13
von netzlum
Danke. Ich werde es so lösen, dass ich das Objektfeld durch ein Integer-Feld für die ID des verknüpften Objekts ersetze, das im Hintergrund übergeben wird.

Vielen Dank für Eure Mühe
Ludger

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Sa 29. Okt 2022, 15:01
von mokraemer
wenn du meinst, dann mach. Mir wäre das zu wackelig.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mo 31. Okt 2022, 08:42
von blickfang
Hi,
ich halte die Bearbeitung von Objekten im Frontend für eine enorm wichtige Funktion, um Mehrwert in weBESeiten für den Webseitenbetreiber und Nutzer zu schaffen. Es zu manipulieren, um die Referez ins Objekt zu bekommen kann man machen. Besser wäre es natürlich, webEdition für das nativ anbieten. Objekte und Multiobjekte auch über Frontend-Edit zu bearbeiten. Es sind eigentlich auch die allermeisten Dinge/Tags dafür bereits da.
VG, Timo

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mo 31. Okt 2022, 11:16
von ThomasGoebe
@Timo: Du kannst dazu unter https://qa.webedition.org einen Feature Request erstellen. Dann wird der Wunsch vielleicht bei zukünftigen Planungen und Updates berücksichtigt werden.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mo 31. Okt 2022, 13:07
von blickfang
Danke für den Hinweis, Thomas...

Siehe auch Beitrag von Finn vom 14.04.2022 => https://qa.webedition.org/view.php?id=13650

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mo 31. Okt 2022, 14:44
von ThomasGoebe
Wunderbar, dann gibt es a bereits einen FR. Könnt ihr ja bei der Konferenz diskutieren, ob das umgesetzt werden soll oder nicht.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mo 31. Okt 2022, 15:48
von mokraemer
nichts destotrotz hatte ich um ein Beispiel gebeten. Es wäre schön, wenn unsere Testseite wieder mal mit sowas belebt würde. Denn wenn wir bestehenden Kode haben, mit dem sich Objekte bearbeiten lassen, kann man sowas schnell einbauen. Wenn ich mir aber erst dazu noch den Kode selbst suchen muß, dann ziehe ich eben auch andere FRs vor, bei denen ich entweder Kode habe, oder die eben auch schneller umgesetzt sind.

Re: Objekte speichern im Frontend Felder vom Typ Objekt nicht

Verfasst: Mi 2. Nov 2022, 10:02
von netzlum
Ich will gerne helfen. Ich weiß aber noch nicht, wann ich die Zeit finde. Was genau brauchst Du? Das Formular-Template und das Template in dem das Objekt geschrieben wird?

Viele Grüße, Ludger