我在“公司”表中创建了一些自定义字段。在创建公司表单中的字段之后,我使用了一个事件在数据库中保存自定义值。因此,第一次将值保存在数据库中,而不是以UI组件形式保存,而是显示为空白。
<fieldset name="proofofbusiness" sortOrder="100">
<settings>
<collapsible>true</collapsible>
<label> Proof of Business </label>
</settings>
<field name="gst_number" formElement="input">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="source" xsi:type="string">gst_number</item>
</item>
</argument>
<settings>
<label translate="true">GST Number</label>
<dataType>text</dataType>
<dataScope>gst_number</dataScope>
</settings>
</field>
</fieldset>2)di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Company\Model\Company\DataProvider" type="Arijit\CustomerShop\Model\CustomerShop\DataProvider" />
<type name="Magento\Company\Model\Company\DataProvider">
<plugin name="after_save_company_additional_field"
type="Arijit\CustomerShop\Plugin\AdditionalDataProvider"/>
</type>
</config>3)db_schema.xml
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="company" resource="default" engine="innodb">
<column xsi:type="varchar" name="gst_number" nullable="true"/>
</table>
</schema>公共函数getProofOfBusiness(CompanyInterface $company) {返回'gst_number'=> $company->getGstNumber(),;}
发布于 2020-08-11 20:32:54
我可以看到,字段集名称与返回其数据的函数名不匹配。字段集名称为"proofofbusiness“,因此您在DataProvider.php中的函数应该命名为getProofofbusinessData()。
https://stackoverflow.com/questions/62967781
复制相似问题