當前位置: 首頁>>代碼示例>>PHP>>正文


PHP UiComponentInterface::getChildComponents方法代碼示例

本文整理匯總了PHP中Magento\Framework\View\Element\UiComponentInterface::getChildComponents方法的典型用法代碼示例。如果您正苦於以下問題:PHP UiComponentInterface::getChildComponents方法的具體用法?PHP UiComponentInterface::getChildComponents怎麽用?PHP UiComponentInterface::getChildComponents使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Framework\View\Element\UiComponentInterface的用法示例。


在下文中一共展示了UiComponentInterface::getChildComponents方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: prepareComponent

 /**
  * Call prepare method in the component UI
  *
  * @param UiComponentInterface $component
  * @return void
  */
 protected function prepareComponent(UiComponentInterface $component)
 {
     foreach ($component->getChildComponents() as $child) {
         $this->prepareComponent($child);
     }
     $component->prepare();
 }
開發者ID:pradeep-wagento,項目名稱:magento2,代碼行數:13,代碼來源:Render.php

示例2: addChildren

 /**
  * Add children data
  *
  * @param array $topNode
  * @param UiComponentInterface $component
  * @param string $componentType
  * @return void
  */
 protected function addChildren(array &$topNode, UiComponentInterface $component, $componentType)
 {
     $childrenNode = [];
     $childComponents = $component->getChildComponents();
     if (!empty($childComponents)) {
         /** @var UiComponentInterface $child */
         foreach ($childComponents as $child) {
             if ($child instanceof DataSourceInterface) {
                 continue;
             }
             if ($child instanceof BlockWrapperInterface) {
                 $this->addWrappedBlock($child, $childrenNode);
                 continue;
             }
             self::addChildren($childrenNode, $child, $child->getComponentName());
         }
     }
     $config = $component->getConfiguration();
     if (is_string($config)) {
         $topNode[$config] = $config;
     } else {
         $nodeData = ['type' => $componentType, 'name' => $component->getName()];
         if (!empty($childrenNode)) {
             $nodeData['children'] = $childrenNode;
         }
         if (isset($config['dataScope'])) {
             $nodeData['dataScope'] = $config['dataScope'];
             unset($config['dataScope']);
         }
         if (!empty($config)) {
             $nodeData['config'] = $config;
         }
         $topNode[$component->getName()] = $nodeData;
     }
 }
開發者ID:hientruong90,項目名稱:magento2_installer,代碼行數:43,代碼來源:Generic.php

示例3: getColumnsComponent

 /**
  * Returns Columns component
  *
  * @param UiComponentInterface $component
  * @return UiComponentInterface
  * @throws \Exception
  */
 protected function getColumnsComponent(UiComponentInterface $component)
 {
     foreach ($component->getChildComponents() as $childComponent) {
         if ($childComponent instanceof Columns) {
             return $childComponent;
         }
     }
     throw new \Exception('No columns found');
 }
開發者ID:pradeep-wagento,項目名稱:magento2,代碼行數:16,代碼來源:MetadataProvider.php

示例4: prepare

 /**
  * Prepare component configuration
  *
  * @return void
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 public function prepare()
 {
     $formElement = $this->getData('config/formElement');
     if (null === $formElement) {
         throw new LocalizedException(__('The configuration parameter "formElement" is a required for "%1" field.', $this->getName()));
     }
     // Create of wrapped component
     $this->wrappedComponent = $this->uiComponentFactory->create($this->getName(), $formElement, array_merge(['context' => $this->getContext()], (array) $this->getData()));
     $this->wrappedComponent->setData('config', array_replace_recursive((array) $this->wrappedComponent->getData('config'), (array) $this->getData('config')));
     $this->wrappedComponent->prepare();
     $this->components = $this->wrappedComponent->getChildComponents();
     // Merge JS configuration with wrapped component configuration
     $wrappedComponentConfig = $this->getJsConfig($this->wrappedComponent);
     $jsConfig = array_replace_recursive($wrappedComponentConfig, $this->getJsConfig($this));
     $jsConfig['extends'] = $this->wrappedComponent->getComponentName();
     $this->setData('js_config', $jsConfig);
     $this->setData('config', $this->wrappedComponent->getData('config'));
     parent::prepare();
 }
開發者ID:vv-team,項目名稱:foodo,代碼行數:25,代碼來源:Field.php

示例5: prepareComponent

 /**
  * Call prepare method in the component UI
  *
  * @param UiComponentInterface $component
  * @return void
  */
 protected function prepareComponent(UiComponentInterface $component)
 {
     $childComponents = $component->getChildComponents();
     if (!empty($childComponents)) {
         foreach ($childComponents as $child) {
             $this->prepareComponent($child);
         }
     }
     $component->prepare();
 }
開發者ID:opexsw,項目名稱:magento2,代碼行數:16,代碼來源:Render.php

示例6: prepareChildComponents

 /**
  * To prepare the structure of child components
  *
  * @param UiComponentInterface $component
  * @param string $parentName
  * @return array
  */
 protected function prepareChildComponents(UiComponentInterface $component, $parentName)
 {
     $name = $component->getName();
     $childComponents = $component->getChildComponents();
     $childrenStructure = [];
     foreach ($childComponents as $childName => $child) {
         $isVisible = $child->getData('config/visible');
         if ($isVisible !== null && $isVisible == 0) {
             continue;
         }
         /**
          * @var UiComponentInterface $childComponent
          * @var array $childStructure
          */
         list($childComponent, $childStructure) = $this->prepareChildComponents($child, $component->getName());
         $childrenStructure = array_merge($childrenStructure, $childStructure);
         $component->addComponent($childName, $childComponent);
     }
     $structure = [$name => ['type' => $component->getComponentName(), 'name' => $component->getName(), 'children' => $childrenStructure]];
     list($config, $dataScope) = $this->prepareConfig((array) $component->getConfiguration(), $name, $parentName);
     if ($dataScope !== false) {
         $structure[$name]['dataScope'] = $dataScope;
     }
     $structure[$name]['config'] = $config;
     return [$component, $structure];
 }
開發者ID:hientruong90,項目名稱:magento2_installer,代碼行數:33,代碼來源:Tabs.php

示例7: prepareDataSource

 /**
  * Call `prepareData` method of all the components
  *
  * @param array $data
  * @param UiComponentInterface $component
  * @return void
  */
 protected function prepareDataSource(array &$data, UiComponentInterface $component)
 {
     $childComponents = $component->getChildComponents();
     if (!empty($childComponents)) {
         foreach ($childComponents as $child) {
             $this->prepareDataSource($data, $child);
         }
     }
     $data = $component->prepareDataSource($data);
 }
開發者ID:Doability,項目名稱:magento2dev,代碼行數:17,代碼來源:Context.php


注:本文中的Magento\Framework\View\Element\UiComponentInterface::getChildComponents方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。