Shopware - Extjs -无法从插件配置窗口发送 AJAX 请求

gtlvzcf8  于 2022-11-04  发布在  PWA
关注(0)|答案(1)|浏览(244)

商店软件后端extjs问题。
我的任务是实现插件配置窗口上的按钮,它将在后端控制器上发送请求。所以我实现了按钮:screenshot
并编写代码来执行 AJAX :

<?xml version="1.0" encoding="utf-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/shopware/5.3/engine/Shopware/Components/Plugin/schema/config.xsd">
    <elements>
        <element type="button">
            <name>Connect</name>
            <label lang="de">Verbinde</label>
            <label lang="en">Connect</label>
            <options>
                <handler>
                    <![CDATA[
                        function () {
                            Ext.Ajax.request({
                                method: 'POST',
                                url: 'UserData/getTokens',
                                params: {
                                    request: 'request'
                                },
                                success: function (res) {
                                }
                            });
                        }
                    ]]>
                </handler>
            </options>
        </element>
    </elements>
</config>

当我单击按钮时,我会看到状态500,并在apache日志中显示消息:
调用未定义的方法Shopware_Proxies_ShopwareControllersBackendEtsyUserDataProxy::setFront()
那么,有没有合适的方法来写这个请求呢?或者我误解了什么?或者它是一个bug?

w8biq8rn

w8biq8rn1#

我认为这是一个错误,你能提供给我你的控制器文件吗?我认为你必须在你的操作getTokens的顶部添加此行

<?php

namespace PluginName\Controller\Backend;

class UserData extends \Shopware_Controllers_Backend_ExtJs
{
    public function getTokensAction()
    {
         $this->container->get('front')->Plugins()->ViewRenderer()->setNoRender();
.........................
    }
}

相关问题