简体   繁体   English

Prestashop FrontController覆盖无效

[英]Prestashop FrontController override not working

I override frontController in override\\classes\\controller\\FrontController.php. 我在override \\ classes \\ controller \\ FrontController.php中覆盖了frontController。 I added only simple code 我只添加了简单的代码

    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,
        ));
    [...]
    }
    }

And in header.tpl i added img with src="{$logo_shop_image}" . 在header.tpl中,我添加了带有src =“ {$ logo_shop_image}”的 img。 I delete class_index.php and after page refresh it is working ( class_index.php was regenerated) on my localhost. 我删除了class_index.php ,在页面刷新后,它在我的本地主机上工作了(重新生成了class_index.php )。

Overridedcode not working on my server. Overridedcode在我的服务器上不起作用。 $logo_shop_image is always empty. $ logo_shop_image始终为空。 I regenerating class_index.php too, it looks like presta stil uses original FrontController because when i override original code then it works. 我也重新生成了class_index.php ,它看起来像presta stil使用原始的 FrontController,因为当我覆盖原始代码时,它就可以工作。 How to force using override file in override catalog? 如何在替代目录中强制使用替代文件?

I interested in class_index.php file and i saw something strange. 我对class_index.php文件感兴趣,并且看到了一些奇怪的东西。

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

Why 'override' => false? 为什么'override'=> false? This is file from working localhost. 这是来自本地主机的文件。 Is it important? 这非常重要吗?

带有_PS_HOST_MODE_ config属性的东西。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM