[TYPO3-german] Zugriff auf Flexformwerte aus fluidcontent_core

bernd wilke t3ng at bernd-wilke.net
Wed Feb 18 10:23:03 CET 2015


Am 18.02.15 um 09:33 schrieb Jens Schmietendorf:
> Moin!
>
> Ich habe eine Provider-Extension erstellt mit u.a. eigenen Content
> Elements,
> im Prinzip eine für Foundation abgewandelte und erweiterte Version von
> fluidbootstraptheme.
> Statt css_styled_content nutze ich fluidcontent_core,
> dieses stellt ja eigene Felder für diverse Setting für Header und
> Container auf dem tt_content - Tab "Appearance" bereit.
> Diese Werte (u.a. CSS-Klassen) möchte ich natürlich auch gerne für meine
> eigenen Content Elements nutzen,
> statt für diese noch weitere Felder im flux form bereitstellen zu müssen.
>
> Vor allem für die Redakteure ist es verwirrend.
>
> Mir gelingt es nicht,
> in meiner Providerextension auf diese Settings zuzugreifen,
> jedenfalls habe ich noch keine Variable gefunden, die diese Werte
> nutzbar enthält,
> also nicht als Flexform innerhalb von record.
>
> Entsprechend der Doku auf fluidtypo3.org habe ich daher einen
> ContentController erstellt:
>
> <?php
> namespace MyNamespace\Mypackage\Controller;
>
> use FluidTYPO3\Flux\Controller\AbstractFluxController;
> use TYPO3\CMS\Core\Utility\GeneralUtility;
>
> /**
> * ContentController
> *
> * Controller to render the content element.
> *
> * @package Mypackage
> * @subpackage Controller
> */
> class ContentController extends AbstractFluxController {
>
>      /**
>       * @return void
>       */
>      protected function initializeViewVariables() {
>          $row            = $this->getRecord();
>          $flexFormData   =
> $this->configurationService->convertFlexFormContentToArray(
> $row['pi_flexform'] );
>          $this->settings =
> GeneralUtility::array_merge_recursive_overrule( $this->settings,
> $flexFormData, false, false );
>          parent::initializeViewVariables();
>      }
>
>      /**
>       * @return string
>       */
>      public function myTemplateAction() {
>          $myVar = array(1 => 'blablupp', 2 => 'blabla');
>          $this->view->assign( 'myVar', $myVar );
>      }
>
> }
>
> Allerdings liefert keine der beiden Test-Funktionen irgendein Ergebnis,
> weder $myVar noch die eigentlich benötigten Werte in settings stehen im
> Fluid-Template bereit.
>
> Hat jemand eine Ahnung, was ich falsch mache?

ich würde "parent::initializeViewVariables();" mal als erstes aufrufen 
um danach eigene Settings dazu bzw. darüber zu setzen.

zum anderen schau doch mal mit
<f:debug title="alle bekannten variablen">{_all}</f:debug>
wasin deinem Flui templae alles bekannt ist. Evtl. gibt es dort ja schon 
'record' oder ähnliches.

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list