【问题标题】:Prestashop FrontController override not workingPrestashop FrontController 覆盖不起作用
【发布时间】:2015-12-12 02:40:24
【问题描述】:

我在 override\classes\controller\FrontController.php 中覆盖了 frontController。我只添加了简单的代码

    class FrontController extends FrontControllerCore
    {    
    init()
{
        [...]
        $logo_image_url = 'themes/'._THEME_NAME_.'/img/shop/'.Tools::getValue('controller').'.png';
        if (!file_exists($logo_image_url)) $logo_image_url = 'themes/'._THEME_NAME_.'/img/shop/main.png';
        [...]
        $this->context->smarty->assign(array(
        // Usefull for layout.tpl
        [...]
        'logo_shop_image' => $logo_image_url,
        ));
    [...]
    }
    }

在 header.tpl 我添加了带有 src="{$logo_shop_image}" 的 img。我删除 class_index.php 并在页面刷新后它在我的本地主机上工作(class_index.php 已重新生成)。

覆盖的代码在我的服务器上不起作用。 $logo_shop_image 始终为空。我也重新生成了 class_index.php,看起来 presta 仍然使用 original FrontController 因为当我覆盖原始代码时它可以工作。如何在覆盖目录中强制使用覆盖文件?

我对 class_index.php 文件感兴趣,我看到了一些奇怪的东西。

  'FrontController' => 
  array (
    'path' => 'override/classes/controller/FrontController.php',
    'type' => 'class',
    'override' => false,
  ),

为什么“覆盖”=> 错误?这是来自工作本地主机的文件。重要吗?

【问题讨论】:

    标签: php prestashop-1.6 overriding


    【解决方案1】:

    这是 _PS_HOST_MODE_ 配置属性的东西。

    【讨论】:

    • 请详细解释一下你的意思 John Doe
    猜你喜欢
    • 2011-03-24
    • 2014-04-03
    • 1970-01-01
    • 2015-03-16
    • 2016-03-18
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多