Ich bin gerade dabei, mit ExtBase und Fluid eine Extension zu schreiben. Dabei bin ich seit 2 Tagen am Verzweifeln, weil folgendes nicht funktioniert:
- Ich habe in ein Domain_Model_Test1, in dem ich die Variable $datumTag deklariert habe:
/**
* @var int
* @validate Integer
*/
protected $datumTag = 0;
[...]
/**
* @param int $datumTag
* @return void
*/
public function setDatumTag(int $datumTag) {
$this->datumTag = $datumTag;
}
/**
* @return int
*/
public function getDatumTag() {
return $this->datumTag;
}
In der Variablen möchte ich den Tag eines Monats speichern, also beim 1.5. die "1".
- Im Template soll es dazu eine SELECT-Liste geben, wo der Nutzer den Wert einstellen kann:
<f:form.select property="datumTag" options="{1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:10, 11:11, 12:12, 13:13, 14:14, 15:15, 16:16, 17:17, 18:18, 19:19, 20:20, 21:21, 22:22, 23:23, 24:24, 25:25, 26:26, 27:27, 28:28, 29:29, 30:30, 31:31}" /><br />
Wenn ich das Programm so ausführe, erhalte ich immer die folgende Fehlermeldung:
#1: PHP Catchable Fatal Error: Argument 1 passed to Tx_SgsVerwaltung_Domain_Model_Test1::setDatumTag() must be an instance of int, string given in C:\Programme\TYPO3_4.3.2\htdocs\Quickstart\typo3conf\ext\test\Classes\Domain\Model\Test1.php line 44
Zeile 44 ist dieser Aufruf:
public function setDatumTag(int $datumTag)
Wo könnte der Fehler liegen? Wie kann man den ausgewählten Wert eines INTs über eine SELECT-Liste auswählbar machen?