Hallo Bernd, deine Vermutung war korrekt, die "flexform"-Settings waren eine Stufe tiefer: settings.flexform.setting1, und im TypoScript: settings.setting2.
Danke - wieder was gelernt ;-) Gruß, Johannes. > -----Ursprüngliche Nachricht----- > Von: typo3-german-boun...@lists.typo3.org > [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von > bernd wilke > Gesendet: Mittwoch, 22. Oktober 2014 17:05 > An: typo3-german@lists.typo3.org > Betreff: Re: [TYPO3-german] Extbase - Flexform - / Typoscript-Settings > > 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['cruis > > e']['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 > _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german