在我的catalog/controller/mycontroller.php
中,我有一个这样的脚本:
$this->data['settings'] = $this->config->get('my_module'); // retrieves data from "setting" table
foreach ($this->data['settings'] as $data) {
if ($data['pageurl'] == 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) {
$this->render();
}
}
在Extensions > Modules
中,我安装了我的扩展程序,我可以将不同的页面 URL 设置为不同的Layouts
,Positions
如下所示:
Page URL Layout Position
================================================
http://...?product_id=10 Product Content Top
http://...?product_id=20 Product Content Top
http://... Home Content Top
我的问题是 - 我只想在满足上述脚本条件的特定页面上渲染一次模板。当前正在发生的是$this->render()
基于Position
和Layout
in显示模板 MULTIPLE 时间Extensions > Modules
。例如,当我访问http://...?product_id=10
页面时,它会显示模板两次,而应该只显示一次,因为它只满足product_id=10
控制器中的条件。我怎样才能做到这一点?