模块控制器重定向到404 Prestashop

时间:2014-02-25 08:58:08

标签: php prestashop prestashop-1.5

我的Prestashop有问题,我想在不使用CMS的情况下在模块中创建网页。

但是当我想使用此Url访问控制器时:http://example.com/comparateur/module/ProduitsMarchand/ProductList

我有这个消息&当我点击链接时,我有一个404错误

[Debug] This page has moved
Please use the following URL instead: http://example.com/comparateur/index.php?controller=ProductList&module=ProduitsMarchand

我的控制器看起来像这样

class ProduitsMarchandProductListModuleFrontController extends ModuleFrontController {

    public $php_self ="ProductList";
    /**
     *  Initialize controller
     *  @see FrontController::init()
     */
    public function init() {
        parent::init();
    }

    /**
     *  Assign template vars related to page content
     *  @see FrontController::initContent()
     */
    public function initContent() {
        parent::initContent();

        $this->setTemplate("ProductList.tpl");
    }
}

偏好设置> SEO&网址

Page: produitsmarchands - productlist
URL: product-list

1 个答案:

答案 0 :(得分:5)

你有一些基本的错误。

首先,您不应该使用FrontController而是使用ModuleFrontController。因为您正在扩展模块而不是完全独立的新控制器。

接下来就是你的班级错了。它应该与此类似。

YourModuleNameYourControllerNameModuleFrontcontroller

YourModuleName =您模块的名称

YourControllername =控制器的名称,应位于yourmodule / controllers / front

最后但并非最不重要的是,这是完全错误的

$this->setTemplate(__FILE__.'/../../../views/templates/front/ProductList.tpl');

你应该使用这个

$this->setTemplate('ProductList.tpl');

这样您的文件将位于yourmodule / views / templates / front

如果您已遵循所有这些指导原则,您应该能够在首选项中为您的moduelController设置友好的网址 - > SEO& URL

BR的