Am 22.10.14 15:35, schrieb JCL - Johannes C. Laxander:
ich würde mal spontan darauf tippen, das das $settings-Array
so nicht ausgelesen werden kann.
Hast Du mal versucht, ob ein einzelner Wert aus $settings
erkannt wird, also z.B. $settings['settingX']?
So, ich habe getestet. Meine Erkenntnisse sind jetzt:
Wenn ich einen einzelnen Wert übergebe, hier ein Setting aus TypoScript,
$cruises =
$this->cruiseRepository->findBySelectedCriteria($this->settings['cruise']['select']['bookingStatus']);
tritt der Fehler nicht auf, genau so, wie wenn ich nur die Flexform-Settings so
übergebe:
$cruises = $this->cruiseRepository->findBySelectedCriteria($this->settings);
Erst wenn ich Flexform-Settings und TypoScript-Setting mische, fliegt mir
"foreach($item as $key => $value)" um die Ohren. Anscheinend werden die
TypoScript-Settings anders dargestellt / übergeben. Wer kann dazu was sagen??? Hier noch
einmal mein Problem in der Gesamtheit:
Ich übergebe mit der Repository-Methode im Controller Flexform-Settings:
class CruiseController extends
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
...
public function listAction() {
$cruises =
$this->cruiseRepository->findBySelectedCriteria($this->settings);
...
}
}
class CruiseRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
public function findBySelectedCriteria($settings) {
...
foreach ($settings as $item) { <----- Zeile 66
foreach($item as $key => $value) {
...
}
}
}
}
Das funktioniert. Nun habe ich zusätzlich noch TypoScript-Settings:
plugin.tx_sccruiseplan {
settings {
settingX = abc
}
}
Nach dieser Definition im Extension-Setup funktioniert aber die
Repository-Methode nicht mehr. Ich bekomme jetzt den Fehler:
#1: PHP Warning: Invalid argument supplied for foreach() in
/.../Classes/Domain/Repository/CruiseRepository.php line 66
Welche Erklärung gibt es dafür und wie behebe ich dieses Problem?
ich würde vermuten, dass deine Settings unterschiedlich tief
geschachtelt sind und daher auf einer Ebene kein Array wie erwartet
vorhanden ist.
mach doch mal einen var_dump von $settings für die verschiedenen
Konfigurationen (flexform/TS/flexform+TS)
bernd
--
http://www.pi-phi.de/cheatsheet.html
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german