Extbase tstamp auslesen [Gelöst]

  • NJoyLife NJoyLife
    R2-D2
    0 x
    83 Beiträge
    1 Hilfreiche Beiträge
    14. 01. 2013, 09:42

    Hallo zusammen

    Ich versuche, meine mit dem Extension Builder erstellte Extension so zu erweitern, dass das Änderungsdatum ausgegeben wird.
    Leider erhalte ich beim Hinzufügen des Felds tstamp eine Fehlermeldung.

    So habe ich das Model erweitert:

    1. /**
    2. * Tstamp
    3. *
    4. * @var int
    5. */
    6. protected $tstamp;

    Fehlermeldung:

    1. #1251315967: Could not determine the child object type.

    Die TCA wurde wie folgt erweitert:

    1. 'tstamp' => array(
    2. 'exclude' => 1,
    3. 'config' => array(
    4. 'type' => 'input',
    5. 'size' => 13,
    6. 'max' => 20,
    7. 'eval' => 'datetime',
    8. 'checkbox' => 0,
    9. 'default' => 0,
    10. 'range' => array(
    11. 'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
    12. ),
    13. ),
    14. ),

    Kann mir jemand sagen, wieso sich das Modell nicht um den Integer tstamp erweitern lassen will?

    Vielen Dank und viele Grüße
    NJoyLife


  • 1
  • mimaxx mimaxx
    Jedi-Ritter
    0 x
    144 Beiträge
    1 Hilfreiche Beiträge
    14. 01. 2013, 11:05

    Hi,

    habe für meine Extension einmal das crdate eingebunden ist ja im Grunde der gleiche Weg!

    Dies hatte ich mir dafür notiert vllt. hilft es ja?

    -----------------------------------------------------

    das jeweilige tca erweitern um z.b. folgenden code:
    ------------------

    1. ## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder
    2.  
    3. $TCA['tx_myext_domain_model_mymodel']['columns']['crdate'] = Array (
    4. 'exclude' => 1,
    5. 'label' => 'Creation date',
    6. 'config' => Array (
    7. 'type' => 'none',
    8. 'format' => 'date',
    9. 'eval' => 'date',
    10.  
    11. ));

    das model erweitern um ein DateTime property und entsprechende getter und setter methoden.
    --------------

    1. /**
    2. * crdate
    3. *
    4. * @var string
    5. */
    6. protected $crdate;
    7.  
    8.  
    9. /**
    10. * Returns the crdate
    11. *
    12. * @return string $crdate
    13. */
    14. public function getCrdate() {
    15. return $this->crdate;
    16. }
    17.  
    18. /**
    19. * Sets the crdate
    20. *
    21. * @param string $crdate
    22. * @return void
    23. */
    24. public function setCrdate($crdate) {
    25. $this->crdate = $crdate;
    26. }

    --------------
    ausschlaggebend ist zuerst das tca. was dort nicht enthalten ist, wird auch nicht in das model gemappt.

  • NJoyLife NJoyLife
    R2-D2
    0 x
    83 Beiträge
    1 Hilfreiche Beiträge
    17. 01. 2013, 14:01

    Hi mimaxx

    Vielen Dank - hat bestens funktioniert! Für andere, die vor dem selben Problem stehen:
    So lässt sich das Datum noch ordentlich formatiert ausgeben:

    1. <f:format.date format="d.m.Y - H:i">{firma.tstamp}</f:format.date> Uhr

    Viele Grüße
    NJoyLife

  • Drusilla Drusilla
    R2-D2
    0 x
    92 Beiträge
    1 Hilfreiche Beiträge
    06. 02. 2017, 10:02

    Hallo,
    ich stehe grade vor demselben Problem, möchte auch den Timestamp mit ausgeben.
    Habe das jetzt alles so gemacht wie oben beschrieben, Model erweitert, TCA ergänzt.
    Der Wert wird nun zwar im BE angezeigt, beim Debuggen im Frontend wird der Wert des tstamp allerdings mit NULL angegeben.

    Habe ich was übersehen?

    Danke und viele Grüße!

    Update: Mittlerweile bekomme ich eine Fehlermeldung:
    Warning: class_parents(): object or string expected in /typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php line 221

    Habe den Timestamp schon als string, integer und NewDate angelegt, kommt aber immer die gleiche Fehlermeldung ...

  • 1