コード例 #1
0
ファイル: StatusGridHelper.php プロジェクト: Maksold/platform
 /**
  * @param BuildBefore $event
  */
 public function statusGridBuildBefore(BuildBefore $event)
 {
     $params = $event->getDatagrid()->getParameters();
     if ($params->has('integrationType')) {
         $type = $params->get('integrationType');
         $connectorChoices = $this->typesRegistry->getAvailableConnectorsTypesChoiceList($type);
         $event->getDatagrid()->getConfig()->offsetSetByPath('[filters][columns][connector][options][field_options][choices]', $connectorChoices);
     }
 }
コード例 #2
0
 /**
  * @param array         $data
  * @param FormInterface $form
  */
 protected function modify($data, FormInterface $form)
 {
     if ($this->hasChannelParent($form)) {
         $connectors = $form->getParent()->get('connectors');
         if ($connectors) {
             $config = $connectors->getConfig()->getOptions();
             unset($config['choice_list']);
             unset($config['choices']);
         } else {
             $config = [];
         }
         if (array_key_exists('auto_initialize', $config)) {
             $config['auto_initialize'] = false;
         }
         $allowedTypesChoices = $this->typeRegistry->getAvailableConnectorsTypesChoiceList('magento', function (ConnectorInterface $connector) use($data) {
             return $connector instanceof ExtensionAwareInterface ? $data : true;
         });
         $form->getParent()->add('connectors', 'choice', array_merge($config, ['choices' => $allowedTypesChoices]));
     }
 }