Magento 2 Ui组件wysiwyg

时间:2017-03-15 08:00:24

标签: magento magento2

在Magento 2中,我们如何使用形式为ui component xml文件的文本区域字段添加WYSIWYG编辑器?要添加文本区域,我在xml文件中使用以下代码。

<field name="detail">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">textarea</item>
                    <item name="source" xsi:type="string">sample_shop</item>
                    <item name="label" xsi:type="string">Detail</item>
                </item>
            </argument>
        </field>

2 个答案:

答案 0 :(得分:5)

在你的ui组件形式的xml文件中添加如下字段。

 <field name="detail">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">wysiwyg</item>
                    <item name="source" xsi:type="string">sample_shop</item>
                    <item name="label" xsi:type="string">Detail</item>

                    <item name="template" xsi:type="string">ui/form/field</item>
                    <item name="wysiwyg" xsi:type="boolean">true</item>
                    <item name="dataScope" xsi:type="string">detail</item>
                    <item name="sortOrder" xsi:type="number">50</item>
                    <item name="rows" xsi:type="number">8</item>
                </item>
            </argument>
        </field>

答案 1 :(得分:1)

从Magento 2.2开始,下面也可以使用。它具有更好的可读性和可用性。

    <field name="content" formElement="wysiwyg">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">block</item>
            </item>
        </argument>
        <settings>
            <additionalClasses>
                <class name="admin__field-wide">true</class>
            </additionalClasses>
            <validation>
                <rule name="required-entry" xsi:type="boolean">true</rule>
            </validation>
            <label/>
            <dataScope>content</dataScope>
        </settings>
        <formElements>
            <wysiwyg>
                <settings>
                    <wysiwyg>true</wysiwyg>
                </settings>
            </wysiwyg>
        </formElements>
    </field>