插件必须覆盖主题中的搜索模板,但它没有。它包含以下文件:PrOlgaStartup/PrOlgaStartup.php
<?php
namespace PrOlgaStartup;
use ShopwareComponentsPlugin;
class PrOlgaStartup extends Plugin
{
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatchSecure_Frontend' => 'extendsFrontend'
];
}
public function extendsFrontend(Enlight_Controller_ActionEventArgs $args)
{
/** @var Enlight_Controller_Action $controller */
// Breadrcrumbs must dissapear
$subject = $args->getSubject();
$subject->View()->addTemplateDir(__DIR__ . '/Resources/views');
}
}
PrOlgaStartup/Resources/views/frontend/index/search.tpl
{extends file="parent:frontend/index/search.tpl"}
{block name="frontend_index_search_container"}
Hello World!
{/block}
一些注意事项
- 在流浪者和bitnami中测试
- 主题由
protected $injectBeforePlugins = true;
扩展 - 主题不包含自定义搜索.tpl
- 缓存已清除
- 此解决方案不起作用
提前非常感谢!!:-(
使其工作(即包括插件模板(的唯一方法是:
- 将开发环境置于流浪状态(我在Windows操作系统上工作(
- 将变量
protected $injectBeforePlugins = true;
放入Theme.php
这个变量的注射对bitnami根本没有任何影响,在我的测试中似乎错过了上述组合。为什么会这样,我(现在(还不清楚。据推测,目前唯一的答案是,这取决于您的操作系统和/或虚拟机。
尝试使用"新"方式注册模板:
public function extendsFrontend(Enlight_Event_EventArgs $args)
{
$this->container->get('Template')->addTemplateDir(
$this->getPath() . '/Resources/views/'
);
}