Shopware 6 - 如何在 SW6 的插件系统配置中添加按钮组件

Posted

技术标签:

【中文标题】Shopware 6 - 如何在 SW6 的插件系统配置中添加按钮组件【英文标题】:Shopware 6 - how to add button component in the plugin System configuration in SW6 【发布时间】:2021-01-07 03:54:32 【问题描述】:

我想在插件系统配置页面上有按钮组件或input-type=button

有谁知道怎么加到config.xml

我浏览了Shopware Core System Config Schema的主文件-

但是type 没有任何按钮相关的东西。

<xs:simpleType name="type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="text"/>
            <xs:enumeration value="textarea"/>
            <xs:enumeration value="url"/>
            <xs:enumeration value="password"/>
            <xs:enumeration value="int"/>
            <xs:enumeration value="float"/>
            <xs:enumeration value="bool"/>
            <xs:enumeration value="checkbox"/>
            <xs:enumeration value="datetime"/>
            <xs:enumeration value="date"/>
            <xs:enumeration value="time"/>
            <xs:enumeration value="colorpicker"/>
            <xs:enumeration value="single-select"/>
            <xs:enumeration value="multi-select"/>
        </xs:restriction>
    </xs:simpleType>

【问题讨论】:

【参考方案1】:

简短回答:你不能。

长答案: 您可以通过 config.xml 中的组件类型生成任何 vue-js 组件

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/platform/master/src/Core/System/SystemConfig/Schema/config.xsd">
    <card>
        <title>#Test# Settings</title>

        <component name="sw-button">
            <name>button</name>
            <variant>primary</variant>
        </component>
    </card>
</config>

除了 name 之外,您分配的每个选项都作为 prop 传递给组件。 然而,sw 按钮的问题在于,文本是通过默认插槽给出的,该插槽不能作为道具传递。所以很遗憾你不能通过 config.xml 来创建按钮

但无论如何这确实有意义,因为没有任何 vue-js 就无法控制需要发生的操作。最简单的事情是创建自己的 vue-js 模块。

【讨论】:

感谢您的回答。我发现了一些与此相关的东西。如果它起作用了,我会发布它或编辑问题。 .

以上是关于Shopware 6 - 如何在 SW6 的插件系统配置中添加按钮组件的主要内容,如果未能解决你的问题,请参考以下文章

Shopware 6 如何在监视脚本期间禁用 ESLint?

在 Shopware 6 中覆盖现有的插件 JS

shopware 6插件的单元测试未找到自定义服务

Shopware 6 - 插件配置中的字段验证不起作用

如何将自定义订单状态添加到 shopware 6

带有 Mailchimp 的 Shopware 6