如何在模块中(在挂钩中)显示主题的.tpl?

时间:2019-10-31 12:14:42

标签: module smarty prestashop-1.7 prestashop-modules

我正在制作一个模块,该模块应该使用自定义主题中的模板。

问题是我不理解模块Module :: display()的功能,它得到两个参数“文件”和“模板”,文件是什么?这是为了什么 如果我这样做:

public function hookDisplayHome{
        return $this->display(__FILE__, '../../templates/my_custom_theme/mb_templates/aboutus.tpl');
    }

在模块“ my_module”中显示错误“找不到模板文件”。当然,如果我将模板路径更改为模块的模板之一,则它可以工作。但是我需要访问主题的模板,而不是模块的模板。

与此同时,我还有另一个问题。是否有关于Prestashop功能的任何文档?我真的试图分析函数$ this-> display(),但是找不到描述该函数的参数等的任何地方。有Prestashop文档https://devdocs.prestashop.com,但它非常通用,并且具有没有功能说明。 我已经检查了Module.php类,该函数没有注释:( 要检查函数的功能,返回值以及接受的参数是什么?它必须在某个地方,对吧?

1 个答案:

答案 0 :(得分:0)

因此对于那些也为此问题感到困扰的人,请根据此答案https://stackoverflow.com/a/53576139/2796533

最简单的解决方案似乎是在$ this-> display()中使用模块的模板,然后在该模板中包含主题的模板:

config.breadcrumbs