コード例 #1
0
ファイル: TargetPath.php プロジェクト: QiuLihua83/magento-ee
 /**
  * @constructor
  * @param FixtureFactory $fixtureFactory
  * @param array $params
  * @param array $data
  */
 public function __construct(FixtureFactory $fixtureFactory, array $params, array $data)
 {
     $this->params = $params;
     if (isset($data['entity'])) {
         list($type, $entity) = explode('/', $data['entity']);
         list($fixture, $dataSet) = explode('::', $entity);
         $this->entity = $fixtureFactory->createByCode($fixture, ['dataSet' => $dataSet]);
         $this->entity->persist();
         $this->data = sprintf("catalog/%s/view/id/%s", $type, $this->entity->getId());
     }
     if (isset($data['custom'])) {
         $this->data = $data['custom'];
     }
     if (isset($data['readyEntity'])) {
         $this->entity = $data['readyEntity'];
     }
 }
コード例 #2
0
 /**
  * @param FixtureFactory $fixtureFactory
  * @param array $params
  * @param string $data [optional]
  */
 public function __construct(FixtureFactory $fixtureFactory, array $params, $data = '')
 {
     $this->params = $params;
     if (!isset($data['entity']) || $data['entity'] === '-') {
         $this->data = $data;
         return;
     }
     preg_match('`%(.*?)%`', $data['entity'], $dataSet);
     $entityConfig = isset($dataSet[1]) ? explode('::', $dataSet[1]) : [];
     if (count($entityConfig) > 1) {
         /** @var FixtureInterface $fixture */
         $this->entity = $fixtureFactory->createByCode($entityConfig[0], ['dataSet' => $entityConfig[1]]);
         $this->entity->persist();
         $id = $this->entity->hasData('id') ? $this->entity->getId() : $this->entity->getPageId();
         $this->data = preg_replace('`(%.*?%)`', $id, $data['entity']);
     } else {
         $this->data = strval($data['entity']);
     }
 }