Hallo aus Tirol,
ich baue mir gerade eine kleine Auftragsverwaltung zusammen, stecke aber ein bisschen fest! webEdition: 10.1.1.0, php: 8.2.30. <we:sessionStart /> hab ich im master.tmpl an erster Stelle gesetzt
Situation: Ich habe eine Klasse "Auftraege" (classid=1). Die Klasse hat einen Arbeitsbereich mit dem Template av-detail.tmpl. Die Objekte werden über <a href="<we:field name="we_path"/>"> aus einem Listview verlinkt – die URL sieht dann so aus: index.php?we_objectID=4
Was funktioniert: Auf einer separaten Editierseite, die via <we:a edit="object" type="listview" id="..."> aufgerufen wird, funktioniert <we:write forceedit="true"> mit <we:form id="self" pass_id="edit"> einwandfrei.
Was nicht funktioniert: Auf der Detailseite (via Klassen-Arbeitsbereich / we_path) habe ich denselben Aufbau:
<we:object name="..." classid="1">
<we:field name="..." to="global" nameto="..." />
<we:form id="self" type="object" name="steps" pass_id="steps" method="post" classid="1">
<we:userInput type="date" name="Schritt01_Datum" />
<we:userInput type="checkbox" name="Schritt01_Erledigt" />
<button type="submit">Speichern</button>
</we:form>
<we:write type="object" formname="steps" publish="true" classid="1"
forceedit="true" searchable="true" onduplicate="overwrite" onpredefinedname="overwrite" />
</we:object>
Display More
<we:ifWritten> feuert (Erfolgsmeldung erscheint), aber die Daten werden im Objekt nicht gespeichert. Nach einem Reload sind die Felder wieder leer.
Frage 1: Ist es grundsätzlich möglich, auf einer via Arbeitsbereich/we_path aufgerufenen Seite Objekt-Felder mit <we:write forceedit="true"> zu schreiben?
Frage 2: Liefert pass_id die Objekt-ID korrekt wenn die Seite via Arbeitsbereich (nicht via <we:a edit="object">) aufgerufen wurde?
Frage 3: Gibt es einen anderen Weg (z.B. ein separates Schreiben-Template im Arbeitsbereich), um auf der Detailseite Felder eines bestehenden Objekts zu aktualisieren?
Gibt es evtl. Beispielcode, wie man das richtig macht?
Vielen Dank um jede Anregung
Christoph