2014-02-25 23 views
2

我的Prestashop出现问题,我想在不使用CMS的情况下在模块中创建网页。模块控制器重定向到404 Prestashop

但是,当我想用​​这个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 

回答

5

你有几个基本的错误。

首先,您不应该使用FrontController,而应该使用ModuleFrontController。既然你扩展了一个模块,而不是一个完全独立的新控制器。

接下来的事情是,你的课是错的。它应该与此类似。

YourModuleNameYourControllerNameModuleFrontcontroller

YourModuleName =你的模块

YourControllername =控制器的名称,并应设在yourmodule /控制器/前

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

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

您应该使用这个

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

这样,你的文件将位于yourmodule /视图/模板/前

如果你还遵循了所有这些准则,你应该能够设置一个友好的URL在首你moduelController - > SEO & URL

BR的

+0

它仍然没有工作,我已经编辑我的第一篇文章,所以你可以看到我的变化。 –

+0

http://mydomain.com/comparateur/product-list,试试这种方式 – user2831723

+0

相同的消息“此页面已移动”,404再次 –