从另一个插件扩展插件 javascript 文件
Extend plugin javascript file from another plugin
Shopware 6 中是否可以使用其他插件扩展插件?我有商店商店的插件 A,我需要稍微改变一下它的功能,因为它不太适合我。这个插件覆盖了 shopware 的核心功能 - 来自 src / plugin / listing / listing.plugin 的 ListingPlugin。我需要从插件 B 或主题中获取插件 A 的 js 文件。我没有从文档中找到有关此功能的任何信息
您可以像这样扩展插件
import ExtendPlugin from './plugin/youtPluignFolder/extend-plugin.plugin';
const PluginManager = window.PluginManager;
PluginManager.override('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')
}
}
但是当我尝试建立店面时,出现错误:
https://i.stack.imgur.com/mQ7Rt.png
可能是因为父插件扩展了列表插件。
PluginManager.override('Listing', TanmarInfiniteScrolling, '[data-listing]');
但是当我试图覆盖 ListingPlugin 时,父插件被完全覆盖。
这是父插件中的文件结构:
https://i.stack.imgur.com/9dDXL.png
您可以使用 ../../../../../../../ExternalPluginName/src/Resources/app/storefront/src/externalplugin/externalplugin.plugin
等相对路径来实现此目的
Shopware 6 中是否可以使用其他插件扩展插件?我有商店商店的插件 A,我需要稍微改变一下它的功能,因为它不太适合我。这个插件覆盖了 shopware 的核心功能 - 来自 src / plugin / listing / listing.plugin 的 ListingPlugin。我需要从插件 B 或主题中获取插件 A 的 js 文件。我没有从文档中找到有关此功能的任何信息
您可以像这样扩展插件
import ExtendPlugin from './plugin/youtPluignFolder/extend-plugin.plugin';
const PluginManager = window.PluginManager;
PluginManager.override('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')
}
}
但是当我尝试建立店面时,出现错误:
https://i.stack.imgur.com/mQ7Rt.png
可能是因为父插件扩展了列表插件。
PluginManager.override('Listing', TanmarInfiniteScrolling, '[data-listing]');
但是当我试图覆盖 ListingPlugin 时,父插件被完全覆盖。
这是父插件中的文件结构: https://i.stack.imgur.com/9dDXL.png
您可以使用 ../../../../../../../ExternalPluginName/src/Resources/app/storefront/src/externalplugin/externalplugin.plugin