从另一个插件扩展插件javascript文件

从另一个插件扩展插件javascript文件,javascript,shopware,Javascript,Shopware,在Shopware 6中是否可以使用另一个插件扩展插件?我有一个来自shopware商店的插件,我需要稍微改变一下它的功能,因为它不太适合我。该插件覆盖了src/plugin/listing/listing.plugin中shopware-ListingPlugin的核心功能。我需要从插件A、插件B或主题中获取js文件。我在文档中找不到有关此功能的任何信息您可以像这样扩展插件 import ExtendPlugin from./plugin/youtpluginfolder/extend plu

在Shopware 6中是否可以使用另一个插件扩展插件?我有一个来自shopware商店的插件,我需要稍微改变一下它的功能,因为它不太适合我。该插件覆盖了src/plugin/listing/listing.plugin中shopware-ListingPlugin的核心功能。我需要从插件A、插件B或主题中获取js文件。我在文档中找不到有关此功能的任何信息

您可以像这样扩展插件

import ExtendPlugin from./plugin/youtpluginfolder/extend plugin.plugin';
const PluginManager=window.PluginManager;
重写('OrgPlugin',ExtendPlugin);
...
注册文件后,您需要创建文件。您可以在那里扩展或覆盖函数,如

import OrgPlugin from '/app/custom/plugins/pluginName/path/to/plugin-file.plugin';

export default class ExtendPlugin extends OrgPlugin {
    init() {
        super.init();
    }

    // Function you want overwrite or extend
    function () {
      //    your code
    }
}


我试过类似的东西。在这种情况下,它不起作用。我为这个插件创建了注册表:

import TanmarInfiniteScrollingExtend from './infinite-scrolling-extend/infinite-scrolling.plugin';

const PluginManager = window.PluginManager;

PluginManager.override('TanmarInfiniteScrolling', TanmarInfiniteScrollingExtend, '[data-listing]');
然后使用以下代码创建文件:

import TanmarInfiniteScrolling from 'src/infinite-scrolling/infinite-scrolling.plugin';

export default class TanmarInfiniteScrollingExtend extends TanmarInfiniteScrolling {
    init() {
        super.init();
    }
    _tmisInit() {
        super._tmisInit();
        console.log('Hello world')

    }
}
但当我尝试建立店面时,我得到了一个错误:

可能是因为父插件扩展了列表插件

PluginManager.override('Listing', TanmarInfiniteScrolling, '[data-listing]');
但是当我试图覆盖ListingPlugin时,父插件被完全覆盖

这是父插件中文件的结构:

您能与我们共享代码吗?你使用Shopware 5还是6?也许这会帮助你:对不起,这是一个关于Shopware 6的问题没有问题:)在这里你可以找到我需要从Shopware商店扩展插件的文档,而不是从StoreFront扩展核心插件。你可以使用绝对路径,如
/app/custom/plugins/plugin name/…