在prestashop中为CMS页面创建新模板

时间:2015-03-01 16:18:41

标签: php prestashop

我在偏好设置下创建了几个页面 - > CMS还可以。现在我需要创建一些具有不同外观的页面,有没有办法像不同的模板一样添加并使用相同的CMS界面来完成它? 我想的是:

步骤1.创建新的cms-2.tpl 步骤2.修改数据库以添加新的“模板”字段 步骤3.修改后台以向CMS页面添加额外字段,以选择要与CMS页面一起使用的模板

到目前为止,我一直在阅读“在没有CMS的情况下创建网页”,如以下链接:Custom page in Prestashop 1.6 without CMS或其他链接:Create custom page in Prestashop 1.5.3,但它们似乎都不是我想要的。

由于

2 个答案:

答案 0 :(得分:5)

prestashop 1.7

的更新

您不再需要覆盖cms控制器。默认情况下已编写此函数。

您只需在page-ID.tpl文件夹中创建themes/your-theme/templates/cms即可。其中ID是cms页面ID。

答案 1 :(得分:4)

这适用于Prestashop 16.0.14:

/override/controllers/front/CmsController.php复制到initContent()并找到该班级的最后一个方法,即$this->setTemplate(_PS_THEME_DIR_.'cms.tpl');

最后一行是if(is_file(_PS_THEME_DIR_.'cms-'.$this->cms->id.'.tpl')){ $this->setTemplate(_PS_THEME_DIR_.'cms-'.$this->cms->id.'.tpl'); } else{ $this->setTemplate(_PS_THEME_DIR_.'cms.tpl'); } 。 将其更改为:

/cache/class_index.php

然后,您需要删除文件cms-2.tpl以强制缓存重新创建。

然后您可以在主题文件夹中创建文件,如下所示:<div id="colourSelector" class="row"> <input id="backgroundcolor" name="backgroundcolor" size="6" maxlength="6" type="color" style="display: block;"> </div>其中2是CMS页面的ID(只需复制cms.tpl并更改文件名)。 确保将cms.tpl作为所有其他CMS页面的后备。