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

Prüfen auf Datum im Metafeld #74

Closed
polarpixel opened this issue May 9, 2019 · 3 comments · Fixed by #75
Closed

Prüfen auf Datum im Metafeld #74

polarpixel opened this issue May 9, 2019 · 3 comments · Fixed by #75

Comments

@polarpixel
Copy link
Member

@gharlan @staabm
In der Demo gibt es in den Artikel-Metafeldern die Abfrage, ob ein Datum "Online ab" und "Online bis" gesetzt wurde.
Das hatte ich so realisiert, früher hatte das auch so funktioniert:
if (rex_article::getCurrent()->getValue('art_online_from') != '')

Anscheinend hat sich das Format, in dem ein Meta-Datumsfeld gespeichert wird, geändert. Wenn ein Artikel gespeichert wird, ohne dass die Checkbox beim Datumsfeld angehakt ist, wird in dem Feld eine 0 gespeichert. Per default ist das Feld aber leer, bzw. NULL.

Nun könnte ich natürlich nach != '' und gleichzeitig != 0 prüfen, aber was wäre der beste Weg? Und sollte nicht bei einem Datums-Metafeld bereits beim Anlegen per default eine 0 gespeichert werden, wenn das der Defaultwert ist.

@staabm
Copy link
Member

staabm commented May 9, 2019

ich wüsste nicht dass wir absichtlich hier etwas geändert hätten, daher wäre interessant wann hier diese 0 entstanden ist/entsteht.

wenn es wirklich eine integer 0 ist, sollte dein bisheriges IF weiterhin funktionieren, siehe https://3v4l.org/sTNDt

wenn es ein String mit einer null ist - also '0' wäre das was anderes

@polarpixel
Copy link
Member Author

Also datenbanktechnisch ist es ein Textfeld. Interessant ist, dass das Datumsfeld, das ich damals bei Erstellung der Demo angelegt hatte, default leer ist. Das heute zum Test angelegt Feld hat default NULL.
In beiden Fällen landet beim Speichern des Artikels und nicht ausgewähltem Datum jedoch eine 0 im Datensatz (das Metafeld ist wie gesagt als "Datum" definiert). Ich wollte nur wissen, ob das korrekt so ist.

@polarpixel
Copy link
Member Author

polarpixel commented Jul 2, 2019

Ich habe das hier nicht weiter verfolgt, aber durch einen User, der bei der Demo wieder über das Problem gestolpert ist, mir das nochmal angesehen.
Ich würde die Abfrage nun einfach in der Demo wie folgt ändern und von mir aus das nicht weiter verfolgen, da es anscheinend sonst bei noch niemandem zu einem Problem geführt hat:
if ((int)rex_article::getCurrent()->getValue('art_online_from') != 0 )
oder noch besser so:
if (rex_article::getCurrent()->getValue('art_online_from') )

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

Successfully merging a pull request may close this issue.

2 participants