Sziasztok,
adott egy saját modul, amiben saját tartalom típust deklarálok.
a form api -val megvalósított beviteli mezők között van egy date típus.
ennek ugyebár tömbbel tudok értéket adni, tehát pl így:
<?php '#default_value' => array('year' => 2007, 'month' => 2, 'day' => 15), ?>
úgy gondoltam, h ennek a tárolását a saját adatbázis táblámban timestamp -ként fogom kezelni és így amikor mentem (hook_insert()) akkor:
<?php datefield=%d //amit a következő módon generálok: mktime(0, 0, 0, $node->date_field['month'], $node->date_field['day'], $node->date_field['year']) ?>
megjelenítéskor ez kényelmes, mert egyszerűen ennyit kell csak csinálni:
<?php echo format_date($node->date_field) ?>
ez a módszer teljesen jól működik ha
- új node -ot küldök be előzénet nélkül
- szerkesztem az adott node -ot előnézet nélkül
- listázva v. teljes oldalas nézetben jelenítem meg a node -ot
DE bármely esetben HA előnézetet nyomok, akkor elszáll
Fatal error: Unsupported operand types in /ott/ahol/van/includes/common.inc on line 1066
hibával.
Ez a format_date fv. $timestamp += $timezone sora.
Igazából érthető a dolog, mert jelen esetben egy tömböt kap (ugyebár az kell a form-on elhelyezkedő date -nek) nem pedig időbélyeget és ettől makkan meg a feldolgozás.
Kérdésem tehát az, hogy miként célszerű összehozni a tartalom típusokat és a tárolás formáját úgy, hogy az minden helyzetben megfeleljen a feldolgozás folyamatának ill. milyen más megközelítést javasolnátok?