Cài đặt bạn đề cập được sử dụng trong vendor/magento/framework/View/Element/UiComponentFactory.php
$reverseMerge = isset($componentArguments['data']['reverseMetadataMerge'])
&& $componentArguments['data']['reverseMetadataMerge'];
$bundleComponents = $this->mergeMetadata($identifier, $bundleComponents, $reverseMerge);
điều này sẽ hợp nhất siêu dữ liệu đã được xác định trong vendor/magento/module-customer/view/base/ui_component/customer_form.xml
với một số siêu dữ liệu khác được xác định trong hàm tạo của nhà cung cấp dữ liệu.
protected function mergeMetadata($identifier, array $bundleComponents, $reverseMerge = false)
{
$dataProvider = $this->getDataProvider($identifier, $bundleComponents);
if ($dataProvider instanceof DataProviderInterface) {
$metadata = [
$identifier => [
'children' => $dataProvider->getMeta(),
],
];
$bundleComponents = $this->mergeMetadataItem($bundleComponents, $metadata, $reverseMerge);
}
return $bundleComponents;
}
Trong trường hợp tài liệu, nhà cung cấp dữ liệu của bạn là vendor/magento/module-customer/Model/Customer/DataProvider.php
bên trong hàm tạo
$this->meta['customer']['children'] = $this->getAttributesMeta(
$this->eavConfig->getEntityType('customer')
);
$this->meta['address']['children'] = $this->getAttributesMeta(
$this->eavConfig->getEntityType('customer_address')
);
có thêm một số thuộc tính khác. Trong trường hợp của khách hàng, các thuộc tính là các thuộc tính được hiển thị bằng màu xanh lam trong hình ảnh sau đây