如何在Prestashop 1.7儿童主题上创建新页面

时间:2017-06-12 07:48:15

标签: themes prestashop-1.7

我想在prestashop上创建一个新页面。我不想使用CMS来创建页面,我基本上需要一个全新的页面。

我曾尝试复制当前的.tpl并重命名它们 - 但我永远无法导航到它们 - 访问新模板的URL是什么?

E.g. say my site is www.xyz.com the "my account" template, sits under template/customer/my-account.tpl this my account page is normally accessed at xyz.com/my-account 

我想要一个新的但相似的页面 - 所以我复制了这个模板,将其重命名为my-account-new并更改其中的内容,为什么不能通过更改URL以my-account-结束来访问新模板新的 - 我刚拿到404.

我错过了什么? 谢谢 :)

1 个答案:

答案 0 :(得分:0)

您可以在自定义模块中添加新的前端控制器: 模块名/控制器/前/ ControllerName.php

然后你的新控制器是一个应定义如下的类:

Module::getInstanceByName('<ModuleName>');

class <ModuleName><ControllerName>ModuleFrontController extends ModuleFrontController

然后添加方法

public function initContent(){
    parent::initContent();
    $this->setTemplate('<templateFolder>/<templateName>');
}

现在可以转到index.php来导航到模板?fc = module&amp; module = ModuleName&amp; controller = ControllerName

因此,在此示例中,将每个ModuleName替换为自定义模块的名称,将ControllerName替换为控制器的名称(例如MyCustomModule和MyCustomController)。

模板将位于您的主题文件夹中,例如您可以在themes / ThemeName / templates / customer / customAddress.tpl中添加customAddress

在这种情况下,对setTemplate的调用将变为:

 $this->setTemplate('customer/customAddress');

我希望这会有所帮助。