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


PHP UiComponentInterface::getComponent方法代碼示例

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


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

示例1: addChildren

 /**
  * Add children data
  *
  * @param array $topNode
  * @param UiComponentInterface $component
  * @param string $componentType
  * @return void
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function addChildren(array &$topNode, UiComponentInterface $component, $componentType)
 {
     $childrenAreas = [];
     $collectedComponents = [];
     foreach ($component->getContext()->getDataProvider()->getMeta() as $name => $meta) {
         $childComponent = $component->getComponent($name);
         if (null === $childComponent) {
             continue;
         }
         $collectedComponents[$childComponent->getName()] = true;
         if (isset($meta['is_collection']) && $meta['is_collection'] === true) {
             $label = $childComponent->getData('config/label');
             $this->component->getContext()->addComponentDefinition('collection', ['component' => 'Magento_Ui/js/form/components/collection', 'extends' => $this->namespace]);
             /**
              * @var UiComponentInterface $childComponent
              * @var array $structure
              */
             list($childComponent, $structure) = $this->prepareChildComponents($childComponent, $name);
             $childrenStructure = $structure[$name]['children'];
             $structure[$name]['children'] = [$name . '_collection' => ['type' => 'collection', 'config' => ['active' => 1, 'removeLabel' => __('Remove ' . $label), 'addLabel' => __('Add New ' . $label), 'removeMessage' => $childComponent->getData('config/removeMessage'), 'itemTemplate' => 'item_template'], 'children' => ['item_template' => ['type' => $this->namespace, 'isTemplate' => true, 'component' => 'Magento_Ui/js/form/components/collection/item', 'childType' => 'group', 'config' => ['label' => __('New ' . $label)], 'children' => $childrenStructure]]]];
         } else {
             /**
              * @var UiComponentInterface $childComponent
              * @var array $structure
              */
             list($childComponent, $structure) = $this->prepareChildComponents($childComponent, $name);
         }
         $tabComponent = $this->createTabComponent($childComponent, $name);
         $childrenAreas[$name] = ['type' => $tabComponent->getComponentName(), 'dataScope' => 'data.' . $name, 'config' => isset($meta['config']) ? $meta['config'] : [], 'insertTo' => [$this->namespace . '.sections' => ['position' => $this->getNextSortIncrement()]], 'children' => $structure];
     }
     $this->addWrappedBlock($childrenAreas, $component, $collectedComponents);
     $this->structure[static::AREAS_KEY]['children'] = $childrenAreas;
     $topNode = $this->structure;
 }
開發者ID:opexsw,項目名稱:magento2,代碼行數:43,代碼來源:Tabs.php


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