2022 年 7 月更新:插件现在可以定义模板优先级。对于翻译优先级等其他事情,下面仍然适用。
根据2019 年 11 月的更新日志条目,插件按照安装日期的顺序加载。
加载插件的顺序已更改。之前,插件是按 ID 列排序的。由于此处存储的 UUID,顺序是随机的,并且在每次(重新)安装 Shopware 时都会发生变化。
从现在开始,插件将按照安装日期的顺序加载。所以第一个安装的插件是第一个,它在内核启动时初始化。
这是临时解决方案,因为这不会完全解决插件之间的依赖关系问题。已经有一些开放的票证,其目标是改进整个插件加载过程。
在最新修订版(2021年2月25日)中仍然如此,
protected function loadPluginInfos(): void
{
$sql = <<<SQL
# dbal-plugin-loader
SELECT
[...]
FROM `plugin`
ORDER BY `installed_at`; <---- here the sort order is defined
SQL;
Run Code Online (Sandbox Code Playgroud)
因此,即使解决方案不是临时的,至少目前已经建立了一致的加载顺序。
备注:当涉及到主题覆盖的优先级时,请参阅如何在 Shopware 6 中进行模板多重继承?并从插件覆盖树枝模板
未来:有一个核心问题需要解决。
Alex 已经回答了这个问题,但如果您想更多地控制插件的加载方式,这里有一个小提示。您可以在 中定义主题中的顺序src/Resources/theme.json。
例如,在插件 Y 之前加载插件 X:
"views": [
"@Storefront",
"@Plugins",
"@PluginX",
"@PluginY",
"@YourTheme"
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3625 次 |
| 最近记录: |