Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speichern des be_table Feldes nicht mehr möglich mit V 4.2.0 (mit V4.1.1 funktioniert es) #1480

Open
olien opened this issue Feb 29, 2024 · 8 comments
Milestone

Comments

@olien
Copy link
Contributor

olien commented Feb 29, 2024

Fehlermeldung:

Transaktion wurde wegen folgendem Fehler nicht ausgeführt: json_decode(): Argument #1 ($json) must be of type string, array given

--

System report (REDAXO 5.16.1, PHP 8.2.4, MySQL 5.7.39)
REDAXO
Version 5.16.1
PHP
Version 8.2.4
OPcache no
Xdebug no
Database
Version MySQL 5.7.39
Character set utf8mb4
Warning Die verwendete MySQL-Version 5.7.39 wird nicht mehr vom Hersteller gepflegt und sollte aktualisiert werden.
Server
OS Darwin
SAPI cgi-fcgi
Webserver Apache/2.4.54
Request
Browser Safari/17.0
Protocol HTTP/1.1
HTTPS yes
Packages
accessdenied 2.1.0
activity_log 0.1.0
adminer 2.0.0
backup 2.9.1
base 0.0.1
base/documentation 1.0
base_jobportal 0.0.1
base_news 0.0.1
be_password 2.0.1
be_style 3.3.1
be_style/customizer 3.3.1
be_style/redaxo 3.3.0
bloecks 3.1.1
bloecks/cutncopy 3.1.1
cke5 6.1.0
cronjob 2.10.2
cronjob/article_status 2.10.0
debug 1.3.1
developer 3.9.2
focuspoint 4.2.2
geolocation 2.1.3
gridblock 1.1.12
gridblock/contentsettings 1.7.1
gridblock/synchronizer 1.0
httpheader 1.1.3
install 2.12.1
maintenance 2.9.2
mblock 3.4.13
media_manager 2.15.0
media_negotiator 4.0.4
mediapool 2.13.1
metainfo 2.10.1
mform 7.3.3
phpmailer 2.13.0
project dev
quick_navigation 6.1.1
rexstan 1.0.163
sprog 1.5.1
structure 2.16.0
structure/content 2.16.0
theme 1.4.0
uploader 2.4.2
url 2.1.0
users 2.10.1
watson 2.3.0
yform 4.2.0
yform/email 4.2.0
yform/manager 4.2.0
yform/tools 4.2.0
yform_spam_protection 1.2.4
yform_usability 2.1.4
yrewrite 2.10.0
@dergel dergel added this to the 4.2 milestone Feb 29, 2024
@dergel
Copy link
Member

dergel commented Mar 4, 2024

kannst du mir das be_table set geben? @olien

@dergel
Copy link
Member

dergel commented Mar 5, 2024

lösch mal bitte die komplette Methode "preValidateAction" aus dem be_table Feld. Dann geht es bei mir. Ich glaube das sind Dinge aus BC Gründen drin, die wir jetzt rausschmeißen können. Kannst du in Slack nach verschiedenen Varianten und tests fragen. Ich teste das be_table. Das Feld ist mir zu seltsam.

@olien
Copy link
Contributor Author

olien commented Mar 5, 2024

Jo. Das klappt. Danke. Ich schreibe es mal in Slack!

@olien olien removed their assignment Mar 5, 2024
@dergel
Copy link
Member

dergel commented Mar 5, 2024

ich hätte gerne ein paar mehr Tests. Das kann ich so verschiedenen Formen genutzt werden.

@olien
Copy link
Contributor Author

olien commented Mar 5, 2024

sag mir gern wie ich es testen kann? ich nutze es ja nur auf eine art :-)

@christophboecker
Copy link
Contributor

Und mit letzten Beta war die Welt auch noch in Ordnung. In Geolocation (Layer-Tabelle) ist ein be_table-Feld. Wenn ich die
preValidateAction-Methode neutralisiere, läuft es weiter bis zum Aufruf des Cuatom-Validators. Der bekam bisher einen JSON-String geliefert, nun ein Array. Bereits die Rückmeldung aus dem Formular ist ein Array (sieht man am $_REQUEST).

Das Problem scheint also zu sein, dass an allen Stellen konsequent mit einem Format gearbeitet wird, also am frühesten Punkt (preValidateAction) den aus der DB geladenen JSON-String in ein Array umwandeln und mit setValue merken, dann nur noch damit arbeiten und erst vor dem Speichern in einen JSON-String codieren. Alternativ um frühestmöglichen Zeitpunkt das Array aus dem Formular in einen JSON-String umwandeln und mit setValue merken. Wer den Wert bearbeitet, muss halt selbst decodieren.

irgendwie so ....

@dtpop
Copy link
Contributor

dtpop commented Mar 7, 2024

Jans Trick mit preValidateAction löschen hat bei mir geholfen.

@dergel
Copy link
Member

dergel commented Mar 19, 2024

Jans Trick mit preValidateAction löschen hat bei mir geholfen.

Das mache ich nun auch erstmal. Wenn jemand einen Fallback haben möchte, gerne als PR

dergel added a commit that referenced this issue Mar 19, 2024
@dergel dergel modified the milestones: 4.2, 4.3 Mar 19, 2024
@dergel dergel modified the milestones: 4.3, 5.0 Sep 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants