本文整理匯總了PHP中Magento\Framework\View\Element\UiComponentInterface::getConfiguration方法的典型用法代碼示例。如果您正苦於以下問題:PHP UiComponentInterface::getConfiguration方法的具體用法?PHP UiComponentInterface::getConfiguration怎麽用?PHP UiComponentInterface::getConfiguration使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Framework\View\Element\UiComponentInterface
的用法示例。
在下文中一共展示了UiComponentInterface::getConfiguration方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: 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;
}
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;
}
}
示例2: update
/**
* @inheritDoc
*/
public function update(UiComponentInterface $component)
{
if ($component instanceof ColumnInterface) {
$filterType = $component->getData('config/filter');
if (is_array($filterType)) {
$filterType = $filterType['filterType'];
}
if (!$filterType) {
return;
}
if (isset($this->filterMap[$filterType])) {
$filterComponent = $this->uiComponentFactory->create($component->getName(), $this->filterMap[$filterType], ['context' => $this->getContext()]);
$filterComponent->setData('config', $component->getConfiguration());
$filterComponent->prepare();
$this->addComponent($component->getName(), $filterComponent);
}
}
}
示例3: applyEditing
/**
* Add editor config
*
* @param UiComponentInterface $column
* @param string $frontendInput
* @param array $validationRules
* @param bool|false $isRequired
* @return UiComponentInterface
*/
public function applyEditing(UiComponentInterface $column, $frontendInput, array $validationRules, $isRequired = false)
{
if (in_array($frontendInput, $this->editableFields)) {
$config = $column->getConfiguration();
$editorType = $config['dataType'];
if (isset($config['editor']) && is_string($config['editor'])) {
$editorType = $config['editor'];
}
if (!(isset($config['editor']) && isset($config['editor']['editorType']))) {
$config['editor'] = ['editorType' => $editorType];
}
$validationRules = $this->validationRules->getValidationRules($isRequired, $validationRules);
if (!empty($config['editor']['validation'])) {
$validationRules = array_merge($config['editor']['validation'], $validationRules);
}
$config['editor']['validation'] = $validationRules;
$column->setData('config', $config);
}
return $column;
}
示例4: 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];
}