Extbase - Timestamp nutzen
Aus Wikizone
Version vom 26. Juni 2015, 17:34 Uhr von 37.49.33.84 (Diskussion) (→Beispiel crdate und tstamp nutzen)
Beispiele
Beispiel crdate und tstamp nutzen
The table fields are named as crdate, and cruser so getters should be named getCrdate and get getCruser. In your model you need to add a field and a getter:
/**
* crdate
* @var int
*/
protected $crdate;
/**
* Returns the crdate
*
* @return int
*/
public function getCrdate() {
return $this->crdate;
}
(do the same with cruser field)
And finally in you setup.txt most probably you'll need to add a mappings for these fields:
config.tx_extbase {
persistence {
classes {
Vendor\MyPackage\Domain\Model\Modelname {
mapping {
columns {
tstamp.mapOnProperty = tstamp
hidden.mapOnProperty = hidden
crdate.mapOnProperty = crdate
cruser_id.mapOnProperty = cruserId
}
}
}
}
}
}
Beispiel
Dieses Beispiel funktioniert, aber es erscheint mir nicht sinnvoll das $TCA zu überschreiben
$TCA['tx_myext_domain_model_mymodel']['columns']['crdate'] = Array (
'exclude' => 1,
'label' => 'Creation date',
'config' => Array (
'type' => 'none',
'format' => 'date',
'eval' => 'date',
));
);
das model erweitern um ein DateTime property und entsprechende getter und setter methoden.
/**
* crdate
*
* @var string
*/
protected $crdate;
/**
* Returns the crdate
*
* @return string $crdate
*/
public function getCrdate() {
return $this->crdate;
}
/**
* Sets the crdate
*
* @param string $crdate
* @return void
*/
public function setCrdate($crdate) {
$this->crdate = $crdate;
}
ausschlaggebend ist zuerst das tca. was dort nicht enthalten ist, wird auch nicht in das model gemappt.
So lässt sich das Datum in Fluid noch ordentlich formatiert ausgeben:
<f:format.date format="d.m.Y - H:i">{firma.tstamp}</f:format.date> Uhr
Vorsicht - scheinbar nutzt der View Helper immer gmt. D.h. die Uhr geht 1h falsch bei uns.