为第 3 方插件设置模板优先级

2024-01-27

自 Shopware 6.4.13.0 以来有一个新功能,您可以在其中设置getTemplatePriority()在捆绑包类中影响模板加载顺序。

目前,我们有一个有序列表,其中列出了我们希望如何加载插件并设置installed_at日期。它包含自己的插件(custom/文件夹)以及第 3 方插件。

有没有办法将其移植到新功能(根据https://stackoverflow.com/a/74139837/288568 https://stackoverflow.com/a/74139837/288568) ?

据我了解,只有它自己的插件可以设置setTemplatePriority()?我们如何注入/更改第三方插件的优先级?

可以装饰bundle类吗?

目前的情况如下:

    'DmfManuTheme',
    'CustomImporter',
    'OwnMoreCustomFields',
    'CustomListingHeader',
    'CustomPrintLayout',
    'DevertPdfExport',
    'TonurSeoFilterLandingpages6', // must be before CustomTheme/CustomProductListing as it extends listing.html.twig
    'CustomApplicationManagement',
    'CustomProductListing',
    'FroshProductCompare',
    'CustomRegistrationProcess',
    'mmeesRangeSliderPro',
    'CustomProductFilter', // must be after mmeesRangeSliderPro
    'CustomContactBanner',
    'OwnRadioPropertyFilter',
    'OwnHierarchicalAttributes',
    'CustomLocalMerchant',
    'MoorlFoundation',
    'MoorlMerchantFinder',
    'MoorlMerchantPicker',
    'CustomTheme', // must be after the MoorlMerchant plugins
    'CustomProductDownloads',
    'CustomFreeSampleOrder',
    'NetzpBlog6',
    'CrswCleverReachOfficial',
    'MoorlFormBuilder',
    'NetzpSearchAdvanced6',
    'CustomProductNotification',
    'CogiEtracker',
    'ApplifactionGoogleMapsPlugin',

是的,这是相当多的插件。我们尝试为每个定制制作一个小插件,而不是大型的整体定制插件。

Own + Custom是我们的命名空间,我们可以在那里设置模板优先级。但我相信整个问题不能这样解决。

EDIT:

是否可以装饰\Shopware\Core\Framework\Bundle- 我对此表示怀疑。 或者编译器会通过帮助吗?


有的是BundleHierarchyBuilder service https://github.com/shopware/platform/blob/c1195d2e94fa0943fae4bdd6d6e4a4a7bffc0cb5/src/Core/Framework/Adapter/Twig/NamespaceHierarchy/BundleHierarchyBuilder.php#L24你可以装饰。实施该方法buildNamespaceHierarchy并通过在装饰服务上调用它来获取返回值。这应该为您提供键值对,其中键是捆绑包名称,而值是从捆绑包接收的优先级。然后,您可以设置每个捆绑包的优先级并重新排序。请注意,如果您使用模板扩展应用程序(而不是捆绑包),您可能必须在装饰器中完全重新实现该方法,因为它们的优先级会被初始排序后的版本覆盖。

public function buildNamespaceHierarchy(array $namespaceHierarchy): array
{
    $hierarchy = $this->decorated->buildNamespaceHierarchy($namespaceHierarchy);
    $extensions = array_diff_key($hierarchy, $namespaceHierarchy);

    $extensions['MoorlMerchantFinder'] = 5;
    $extensions['TonurSeoFilterLandingpages6'] = 3;
    // ...

    asort($extensions);

    return array_merge(
        $extensions,
        $namespaceHierarchy
    );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为第 3 方插件设置模板优先级 的相关文章

  • twig 扩展中的 Symfony 依赖注入

    好的 我试图创建依赖于其他服务的树枝扩展 安全 上下文 并遇到了一些麻烦 所以 这是我的服务声明 acme twig user extension class Acme BaseBundle Twig UserExtension argum
  • 使用Twig生成JSON

    我想要一个返回简单 JSON 对象的 URL 我正在尝试使用 Twig 生成 JSON 对象 urls for child in page root child url if not loop last endif endfor 不过 回车
  • Silex - Twig_Error_Syntax:函数“路径”不存在

    根据Silex 文档 http silex sensiolabs org doc providers twig html symfony2 components integration Symfony 提供了一个 Twig 桥 它在一些 S
  • 根据字段值更改奏鸣曲管理包中的行颜色

    我有奏鸣曲管理包 但无法弄清楚如何根据表单模板中的字段值更改样式 例如字段难度 难度值越高 记录行的颜色应该越红 我怎样才能做到这一点 我花了几个小时来理解奏鸣曲中的树枝模板 但是我读这个模板越多 我就越感到困惑 模板之间存在块调用 并且不
  • symfony2 - twig - 如何从树枝模板内部渲染树枝模板

    我有一个 xxx html twig 文件 它显示一个页面 但是当我想用不同的数据刷新页面并用新数据更新它时 我有一个选择和一个提交按钮 问题是我不知道如何在控制器中调用一个动作 我从我的树枝传递参数并调用新数据 然后我用新参数再次渲染相同
  • Twig:打印变量名称为 String 的变量的值

    我有一个名为例如的变量var1哪个有价值value1作为字符串 如何打印变量的值var1 where var1是作为字符串获得的吗 Let set container var1 变量的值container是动态的 取决于值container
  • 推荐的 Twig 文件扩展名

    Twig 模板有推荐的文件扩展名吗 我已经看到了以下使用情况 并希望与大多数其他开发人员保持一致 myTemplate html twig myTemplate twig myTemplate html myTemplate tmpl 通常
  • 如何在 TWIG 中使用转储?

    我简单地添加模板 index html twig dump product 我有错误 The function dump does not exist in AcmeStoreBundle Default index html twig a
  • 如何在 twig 中显示 Unix 时间戳的格式化日期?

    我想通过对 Unix 时间戳应用过滤器来在 twig 中显示格式化日期 twig 有这样的功能吗 有一个过滤器叫date http twig sensiolabs org doc filters date html 在下面的例子中mydat
  • symfony 2 twig 访问数组 javascript 索引

    是否可以从中获取对象twig数组知道索引是ajavascript多变的 我的控制器 public function showContactModalAction iduser profil em this gt getDoctrine gt
  • Symfony2 - 获取 TWIG 模板中的当前 URL 或路由?

    我的路线是 admin path admin defaults controller CatalogWebBundle Admin admin 如何在 PHP 模板中获取路由名称 获取当前 URL request gt getRequest
  • Twig,减去 2 个日期

    如何用 twig 减去两个日期 我有一个结束日期和一个开始日期 我想要两者之间的差异 例如 对于日期 2015 02 20 和 2015 02 13 我应该获得 7 我怎样才能做到这一点 感谢帮助 第一个解决方案 推荐 使用现有库 您可以使
  • CakePHP TwigView 插件缺少视图错误

    我正在使用 CakePHP 2 4 2 和this https github com predominant TwigView插件由主导 我想将 TwigView 与 CakePHP 一起使用 发现上面的插件与 CakePHP 2 0 兼容
  • 树枝中不允许使用convert_encoding

    为了转换我的法语 html 口音 我尝试通过在 Twig 中执行以下操作来更改编码 ddf description convert encoding UTF 8 HTML ENTITIES 但这是我收到的消息 渲染模板期间引发异常 注意 i
  • 包含一个树枝文件并从单独的文件传递变量?

    我有container twig 包括component twig并传递一个名为 mock 的对象 在container twig中 set mock title This is my title include component twi
  • 将 PDF 存储在 MySQL 数据库中

    我正在开发一个应用程序 我需要创建 PDF 格式的发票 我在用着pdf包 https github com psliwa PdfBundle并且 PDF 文件已正确创建 public function helloAction format
  • Twig dump 不打印任何内容

    我现在有点困惑 我总是像其他树枝函数一样使用树枝转储函数 但现在它完全没有输出 没有错误 异常 什么都没有 其他一切都工作正常 例如反式过滤器 dump test prints nothing layout booking chooseAr
  • 列出当前请求中使用的所有 Twig 模板

    我正在使用 Symfony2 和 Twig 模板引擎 有没有办法输出当前请求中加载的所有 Twig 模板文件的列表 包括通过加载的模板文件extends include etc 当覆盖第三方捆绑包的块时 这将使我的生活变得更加轻松 但我找不
  • Symfony2 - 多种形式的主题

    有没有办法在同一页面上的两个 或多个 表单使用不同的主题 我有 2 个表单 我想对第一个表单使用主题 X 对第二个表单使用主题 Y 您需要在显示表单之前声明您的主题 你应该试试 form theme form ThemeX html twi
  • 使用 Timber 插件时,wordpress 简单的短代码不会呈现

    我最近接管了一个使用 Timber 我不熟悉 的 WordPress 网站的开发 我正在尝试使用新的插件和随附的短代码 但这当然不起作用 我已经研究这个问题几个小时了 似乎没有一个简单的答案 为了使用像这样的简单短代码 sp faq类别 7

随机推荐

  • c++11 及更高版本中 mutex.lock() 和 .unlock() 的确切线程间重新排序约束是什么?

    根据https en cppreference com w cpp atomic memory order https en cppreference com w cpp atomic memory order mutex lock and
  • 帮助菜单缺失部分 - Eclipse Luna

    我正在 Eclipse Luna 中工作 安装 Oracle Enterprise Pack for Eclipse OEPE 后 帮助菜单显示缺少项目 我附上屏幕截图 丢失物品 另外 我检查了菜单可见性 检查更新 安装新软件 安装细节 等
  • mypy 设置字典键/接口

    假设我有一个以字典作为参数的函数 def f d dict gt None x d x print x 我可以指定这本词典吗must有钥匙 x 到我的 我正在寻找类似的东西打字稿的界面 https www typescriptlang or
  • 如何在 Eclipse CDT 中配置特定的 GCC 交叉工具链?

    我导入了一些源代码C Makefile Project到 Eclipse CDT 工作区 并指定Cross GCC 索引器设置 工具链 项目导入进展顺利 但包含路径设置仅指向我当前的本机主机 GCC 实现 我一直在寻找Toolchain E
  • JavaScript:如何将额外参数传递给回调[重复]

    这个问题在这里已经有答案了 我有一个问题困扰了我一段时间 假设我有以下数组 var array 1 2 3 现在我有一个与此类似的功能 function print num str console log str num 是否可以调用 fo
  • Net Core 2.1 通用主机即服务

    我正在尝试使用最新的 Dotnet Core 2 1 运行时构建 Windows 服务 我不托管任何 aspnet 我不希望或不需要它来响应 http 请求 我遵循了示例中的代码 https github com aspnet Docs t
  • 我可以在 ARView 中使用缩放功能吗?

    我希望我的用户在 AR 应用程序中使用缩放 可以使用 ARView 进行缩放吗 我编写了以下代码并将其添加到点击操作中 let discoverySession AVCaptureDevice DiscoverySession device
  • 如何在 R 中使用 `tryCatch` 正确记录警告和错误?

    我有一个函数fun通常会产生警告 偶尔会引发错误 我正在尝试使用tryCatch记录警告和错误 如建议的那样这个答案 https stackoverflow com a 57658252 5252007 如何同时存储警告和错误 这是一个最小
  • gdb:如何列出打开的文件

    我想知道是否有可能获得调试应用程序已打开但未从 GDB 本身关闭的文件 目录列表 目前我设置了一个断点 然后使用外部程序 例如lsof检查打开的文件 但这种做法确实很烦人 环境 Debian Lenny 和 gdb v6 8 EDIT 我这
  • 在 Kubernetes 上使用 Spring Boot Admin 监控副本

    我在 Kubernetes 上设置了一个 Spring Boot 管理客户端 并扩展到 3 个副本 但是当我尝试检查实例时 管理服务器只显示一个 为了让 SBA Spring Boot 管理员 了解您的服务的三个实例是不同的 您需要确保每个
  • 为什么 C# 中的构造函数不被继承?

    我猜想 C 继承中有一些非常基本的东西我不明白 有人请启发我吗 有时 在子类化时 您希望限制创建类实例所需的条件 让我举一个例子 如果类确实继承了其超类构造函数 则所有类都将具有来自的无参数构造函数Object 显然这是不正确的
  • R下载文件重定向

    您好 我正在参加在线课程并尝试下载rda教授提供的数据集 我尝试运行与课程中提供的完全相同的命令 download file https dl dropbox com u 7710864 courseraPublic samsungData
  • 如何有效地搜索这个层次结构?

    我有一个如下所示的数据结构 public class Node public string Code get set public string Description get set public List
  • 错误“无法下载,$GOPATH 未设置。”

    Setup 看看我的配置 echo GOPATH ls r GOPATH home cyrus go src pkg bin echo GOROOT ls GOROOT usr local go api AUTHORS bin CONTRI
  • 使用 PHP 进行错误级别分析

    我不是编码员 但我确实理解逻辑 通常我能够使用 PHP 进行简单的编码 我正在寻求实施错误级别分析使用 PHP 你可以看到一个例子这个链接 http fotoforensics com 是否可以使用 ImageMagick 或 GD 来实现
  • PHP mail() 附件问题

    有人能帮我弄清楚为什么这总是返回错误吗 to email protected cdn cgi l email protection from Website lt email protected cdn cgi l email protec
  • Java / Kotlin / Spring Boot。如何在异常发生时自动获取参数值?

    考虑到我们正在使用Kotlin Spring Boot 注释等相关库 如果我们的代码抛出异常 我们如何在异常发生时自动检索方法参数值 我们可以使用 AOP Spring 拦截器或其他技术来做到这一点吗 我们希望用它来丰富我们的错误消息 以便
  • 如何处理 Pandas 中的SettingWithCopyWarning

    背景 我刚刚将 Pandas 从 0 11 升级到 0 13 0rc1 现在 该应用程序弹出了许多新的警告 其中之一是这样的 E FinReporter FM EXT py 449 SettingWithCopyWarning A valu
  • Android OAuth 改造访问令牌请求

    谁能告诉我将以下代码转换为改造的确切格式 curl X POST d grant type password username admin password admin scope read write u clientId clientS
  • 为第 3 方插件设置模板优先级

    自 Shopware 6 4 13 0 以来有一个新功能 您可以在其中设置getTemplatePriority 在捆绑包类中影响模板加载顺序 目前 我们有一个有序列表 其中列出了我们希望如何加载插件并设置installed at日期 它包