我在偏好设置下创建了几个页面 - > 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,但它们似乎都不是我想要的。
由于
答案 0 :(得分:5)
您不再需要覆盖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页面的后备。