header.tpl中的显示功能 - Prestashop

时间:2013-12-02 16:14:40

标签: function prestashop

我想说我对prestashop很新。

我已经添加了FrontController.php来覆盖/ classes / controller。 该文件包含以下代码

class FrontControllerCore extends Controller
{

public function thefunct()
{
    return 'AA';
}

}

现在在header.tpl中,我尝试使用{FrontController :: thefunct()}来调用该函数。

当我将公共函数放在类/控制器中时,它可以正常工作,但是当我将它放在override文件夹中时它不会。

如何在header.tpl中显示该功能? 那么覆盖文件夹如何工作呢?

1 个答案:

答案 0 :(得分:1)

(我假设您使用ps 1.5)

如果你压倒FrontController,你需要像这样开始上课

class FrontController extends FrontControllerCore

并删除cache/class_index.php文件,(我的意思是,每次覆盖新的控制器或类时删除它)

自学how to override in ps。通过优秀的文档。

修改

class FrontController extends FrontControllerCore {

    //here you should create and assign variables which you want to use in templates
    public function initContent()
    {
        parent::initContent();

        //in such a way you assign variables into smarty template
        $this->context->smarty->assign(
            array(
                'acme_variable' => $this->acme()
            )
        );
    }

    protected function acme()
    {
        return "Wile E. Coyote and The Road Runner";
    }
}


//header.tpl

<div>{$acme_variable}</div>