Zum Inhalt springen

Fluid: Verbindung von INT und form.select

Erstellt am 14. April 2010 · 2 Antworten · letzte Antwort am 21. April 2010

Tags: Fluid, Frage

Unbekannter Benutzer ·

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?

Unbekannter Benutzer ·

Grrr, ich krieg die Krise...
Das Beispiel funktioniert, wenn man "datumTag" durch "test" ersetzt.

Hat jemand einen guten Link, wo auf die Fluid-Namenskonvention eingegangen wird?