Hallo, lieber Forumbenutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
Benutzeravatar
tulla
Beiträge: 17
Registriert: 18. Jun 2015, 15:39

yform $yform->setObjectparams Problem

15. Aug 2018, 12:10

Hallo,

kann mir ggf. jemand helfen?

Ich erstelle ein Formular mit yform und hole die zu ändernden Daten direkt ab um sie im Formular anzuzeigen.
Beim Speichern überschreibt er aber alle anderen Datensätze in der Datenbank mit den nicht im Formular geänderten Daten.
Hier der betreffende Code:

Code: Alles auswählen

$dataset = rex_yform_manager_dataset::get($user_id,'rex_customer');
$yform = $dataset->getForm();
$yform->setObjectparams('form_action',rex_getUrl(11)); 
$yform->setObjectparams("getdata",TRUE);
    $this_user = 'id='.$user_id;
$yform->setObjectparams('main_where',  $this_user);
$yform->setObjectparams('main_table', 'rex_customer');
$yform->setActionField('db', array("rex_customer", "main_where"));    
$yform->setActionField('redirect', array("8"));
echo $dataset->executeForm($yform);
An einer fehlenden ID des zu ändernden Datensatzes kann es nicht liegen, dass habe ich bereits getestet und ausserdem würde er dann das geänderte Feld nicht bei dem richtigen Datensatz ändern.

Ich wäre um Hilfe dankbar!

morfer
Beiträge: 105
Registriert: 24. Mär 2009, 01:58

Re: yform $yform->setObjectparams Problem

28. Aug 2018, 23:56

Ich glaube das brauchst du nicht:

Code: Alles auswählen

$this_user = 'id='.$user_id;
$yform->setObjectparams('main_where',  $this_user);
$yform->setObjectparams('main_table', 'rex_customer');
$yform->setActionField('db', array("rex_customer", "main_where"));    
Da über ex_yform_manager_dataset::get($user_id,'rex_customer'); schon klar ist, dass dieser Datensatz bearbeitet wird.

Also:

Code: Alles auswählen

$dataset = rex_yform_manager_dataset::get($user_id,'rex_customer');
$yform = $dataset->getForm();
$yform->setObjectparams('form_action',rex_getUrl(11)); 
$yform->setObjectparams("getdata",TRUE);
$yform->setActionField('redirect', array("8"));
echo $dataset->executeForm($yform);

Benutzeravatar
tulla
Beiträge: 17
Registriert: 18. Jun 2015, 15:39

Re: yform $yform->setObjectparams Problem

29. Aug 2018, 09:07

Hi,

danke für die Info. Habe es gestestet. War wohl doppelt gemoppelt ... Danke.

Das eigentliche Problem ist damit aber leider immer noch nicht gelöst! :(

[NACHTRAG]
gibt es denn ein anderes Forum, welches bei yform Fragen aktiver ist oder ist das Problem so sellten, weil keiner das yform Formular Objekt nutzt?

morfer
Beiträge: 105
Registriert: 24. Mär 2009, 01:58

Re: yform $yform->setObjectparams Problem

29. Aug 2018, 13:31

Was genau meinst du damit?
Beim Speichern überschreibt er aber alle anderen Datensätze in der Datenbank mit den nicht im Formular geänderten Daten.
Du müsstest ja nur diesen einen Datensatz ändern können. Wenn du die Daten ausliest ins Formular und es dann speicherst werden ja auch alle Felder wieder in die DB geschrieben, oder bringe ich das durcheinander?

Melde dich gerne im Slack Chat an:
https://friendsofredaxo.slack.com/

Dort kann dir viel schneller geholfen werden.

LG Daniel

Benutzeravatar
tulla
Beiträge: 17
Registriert: 18. Jun 2015, 15:39

Re: yform $yform->setObjectparams Problem

29. Aug 2018, 16:37

Ja, dass ist der Fall, es wird nur der Datensatz über die angegebene ID ausgelesen und im Formular angezeigt.
Aber er schriebt scheinbar in die Tabelle ohne where klausel, so dass alle Datensätz angepasst werden, komischer weise nur die nicht im Formular geänderten sondern nur die im Formular gleichgebliebenen schreibt er in alle anderen Datensätze der Tabelle...

Ich weiß zwar nicht was der slack Channel ist, aber ich werde es mal probieren.
Danke für den Tip!

Bei dem slackchannel steht, bitte den Administrator um einen Zugang. Aber wer das ist, steht da nicht ....

Benutzeravatar
tulla
Beiträge: 17
Registriert: 18. Jun 2015, 15:39

Re: yform $yform->setObjectparams Problem

29. Aug 2018, 16:45

Habe den Einladungslink gefunden.
Danke.
Werde es dort auch mal mit Hilfe probieren.

Zurück zu „AddOns / Packages [R5]“