本文整理匯總了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;
}