[TYPO3-german] Extbase - Flexform - / Typoscript-Settings

JCL - Johannes C. Laxander jc at laxander.com
Wed Oct 22 15:35:31 CEST 2014


> 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?

Gruß, Johannes.



More information about the TYPO3-german mailing list