示例#1
0
 /**
  * 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();
 }