无法挂钩任何Prestashop模块以显示维护

时间:2018-08-02 01:08:19

标签: php smarty prestashop-1.7

我想将社交媒体关注和其他一些Prestashop模块连接到displayMaintenance钩子上,但出现错误:

ContextErrorException in Module.php line 2221:
Notice: Trying to get property of non-object

根据此documentation,此挂钩在维护页面上显示新元素。

我还注意到,当我尝试在maintenance.tpl文件中使用包含{$ urls}(例如{$ urls.theme_assets}和{$ urls.base_url})的全局变量时,也会出现相同的错误,主题目录。看起来那些模块和变量在maintenance.tpl文件中不起作用。

更新: 这是来自包含钩子的maintenance.tpl文件中的代码的一部分。

div class="maintenance-container">
            <div class="page-header">
                {block name='page_header_logo'}
                    <div class="logo"><img src="{$shop.logo}" alt="logo" width="160"></div>
                {/block}
                {block name='hook_maintenance'}
                    {$HOOK_MAINTENANCE nofilter}
                {/block}

                {block name='page_header'}
                    <h1>{block name='page_title'}{l s='We will be back soon' d='Shop.Theme.Global'}{/block}</h1>
                {/block}
            </div>
            {block name='page_content_container'}
                <section id="content" class="page-content page-maintenance">
                    {block name='page_content'}
                        {$maintenance_text nofilter}
                    {/block}
                </section>
            {/block}
        </div>

以下代码用于将模块直接添加到该位置:

$this->registerHook('displayMaintenance'));

但是,我也成功地将模块移植到了后端的这个位置。但是当您检查前端时,它将引发错误。

0 个答案:

没有答案