Shopware 5.5前端模板更改将不会加载

时间:2018-10-10 10:03:33

标签: javascript symfony shopware

所以我更新到了SW 5.5,由于某种原因,我自己的插件之一不再起作用。 JS文件仍通过插件导入,但插件应在前端添加一些测试等,但是这些东西将不再加载,老实说,我也不知道为什么。

这是文件footer.tpl和index.tpl的代码,该代码应该扩展原始文件,它以前曾经可以工作,但现在不再可用。

footer.tpl

{extends file="parent:frontend/index/footer.tpl"}

{block name='frontend_index_footer_menu'}
    {$smarty.block.parent}
    <div id="example">
       Hello World!
    </div>
{/block}

index.tpl

{extends file="parent:frontend/index/index.tpl"}

{block name='frontend_index_header_javascript_jquery_lib' append}
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

    <script type="text/javascript">

            var exampleJSvars =
                 {
                    height:"{$configHeight";
                };
    </script>

{/block}

如果我忘记了某件事或您需要更多信息,请告诉我

2 个答案:

答案 0 :(得分:0)

第一

为什么在底部包含jQuery? jQuery已由Shopware加载,您不必两次包含它。

第二: 不要使用appendprepend,请始终使用$smarty.block.parent来扩展{block}

第三: 在您的代码示例中,您忘记了右括号。因此代码将是:

{extends file="parent:frontend/index/index.tpl"}

{block name='frontend_index_header_javascript_jquery_lib'}
   {$smarty.block.parent}
    <script type="text/javascript">
            var exampleJSvars =
                 {
                    height:"{$configHeight}";
                };
    </script>

{/block}

答案 1 :(得分:0)

所以这是固定的。但是我很确定我的变量中有一个错误,因为它们不会出现在前端。

    public function extendsFrontend(Enlight_Event_EventArgs $args)
    {
        /** @var \Enlight_Controller_Action $controller */
        $controller = $args->get('subject');
        $view = $controller->View();

        $view->addTemplateDir($this->pluginPath . '/Resources/views');

        $shop = Shopware()->Shop();
        $this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName($this->pluginName, $shop);

        $config = array(
            'height' => $this->config['height']
        );

        $view->assign($this->pluginName, $config);
    }

这是我的功能,因此我可以使用{$ height},因此在前端显示此选项,但是老实说这不再起作用了……我看不到脚本的问题