/** * Get CartProduct from Content Element * * @param array $preCartProductSetValue * * @return \Extcode\Cart\Domain\Model\Cart\Product */ public function getCartProductFromCE(array $preCartProductSetValue) { $abstractPlugin = new \TYPO3\CMS\Frontend\Plugin\AbstractPlugin(); $row = $abstractPlugin->pi_getRecord('tt_content', $preCartProductSetValue['contentId']); $flexformData = GeneralUtility::xml2array($row['pi_flexform']); $gpvarArr = ['productType', 'productId', 'sku', 'title', 'price', 'isNetPrice']; foreach ($gpvarArr as $gpvarVal) { $preCartProductSetValue[$gpvarVal] = $abstractPlugin->pi_getFFvalue($flexformData, 'settings.' . $gpvarVal, 'sDEF'); } $preCartProductSetValue['taxClassId'] = $abstractPlugin->pi_getFFvalue($flexformData, 'settings.taxClassId', 'sDEF'); $attributes = explode("\n", $abstractPlugin->pi_getFFvalue($flexformData, 'settings.attributes', 'sDEF')); foreach ($attributes as $line) { list($key, $value) = explode('==', $line, 2); switch ($key) { case 'serviceAttribute1': $preCartProductSetValue['serviceAttribute1'] = floatval($value); break; case 'serviceAttribute2': $preCartProductSetValue['serviceAttribute2'] = floatval($value); break; case 'serviceAttribute3': $preCartProductSetValue['serviceAttribute3'] = floatval($value); break; case 'minNumber': $preCartProductSetValue['minNumber'] = intval($value); break; case 'maxNumber': $preCartProductSetValue['maxNumber'] = intval($value); break; default: } } return $this->createProduct($preCartProductSetValue); }
/** * The constructor for a view setting the component manager and the configuration. * * @param Tx_Formhandler_Component_Manager $componentManager * @param Tx_Formhandler_Configuration $configuration * @return void */ public function __construct(Tx_Formhandler_Component_Manager $componentManager, Tx_Formhandler_Configuration $configuration, Tx_Formhandler_Globals $globals, Tx_Formhandler_UtilityFuncs $utilityFuncs) { parent::__construct(); $this->componentManager = $componentManager; $this->configuration = $configuration; $this->globals = $globals; $this->utilityFuncs = $utilityFuncs; $this->cObj = $this->globals->getCObj(); $this->pi_loadLL(); $this->initializeView(); }