【问题标题】:Magento2 Disable component using ui_componentMagento2 使用 ui_component 禁用组件
【发布时间】:2017-05-08 20:15:59
【问题描述】:

如何删除 Magento 默认表单 ui 组件。例如图片中的营销 -> 购物车价格规则 -> [选择已创建的规则] -> 安排新更新

我想删除规则信息、条件、操作、标签 顶部横幅,产品描述横幅之后,产品标签

正如您所见,与默认的 Magento EE 相比,它有一些额外的 ui_components。这是因为 Amasty_Promo 模块。所以我想删除它。

【问题讨论】:

    标签: php magento2 uicomponents


    【解决方案1】:

    根据布局处理程序在您的自定义模块中创建一个文件。在这种情况下是NameSpace/YourModule/view/adminhtml/ui_component/salesrulestaging_update_form.xml

    内容如下:

    <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
            <item name="componentDisabled" xsi:type="boolean">true</item>
      </item>
    </argument>
    

    比如rule_information会是这样的:

    <?xml version="1.0" encoding="UTF-8"?>
        <form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
            <fieldset name="rule_information">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="componentDisabled" xsi:type="boolean">true</item>
                    </item>
                </argument>
            </fieldset>
        </form>
    

    并确保&lt;argument&gt; 将是组件的第一个子级。

    【讨论】:

    • 你知道如何禁用条件?
    【解决方案2】:

    隐藏字段:

        <field name="custom_field">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">Custom Field</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">dataProvider</item>
                    <item name="dataScope" xsi:type="string">custom_field</item>
                    <item name="componentDisabled" xsi:type="boolean">true</item> <!-- here -->
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
    

    只需禁用(只读字段)

        <field name="custom_field">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">Custom Field</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">dataProvider</item>
                    <item name="disabled" xsi:type="boolean">true</item> <!-- here -->
                    <item name="dataScope" xsi:type="string">custom_field</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 2019-05-03
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      相关资源
      最近更新 更多