2014-02-25 5 views
2

Prestashop에 문제가 있습니다. CMS를 사용하지 않고 모듈에 웹 페이지를 만들고 싶습니다. 내가 URL을 사용하여 컨트롤러에 액세스 할 때모듈 컨트롤러가 404로 리디렉션 됨 Prestashop

는하지만 : 내가 링크를 클릭 할 때 내가 그 메시지 &이 http://example.com/comparateur/module/ProduitsMarchand/ProductList

을, 나는

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

내 컨트롤러의 모습을 404 오류가 이

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 & URL을

Page: produitsmarchands - productlist 
URL: product-list 

답변

5

몇 가지 근본적인 실수가 있습니다.

우선 FrontController가 아니라 ModuleFrontController를 사용해야합니다. 모듈을 확장하기 때문에 새로운 컨트롤러를 완전히 분리 할 필요가 없습니다.

다음은 클래스가 잘못되었다는 것입니다. 그것은 이것과 비슷한 것이어야합니다.

앞 그리고 마지막으로 모듈

YourControllername = 컨트롤러의 이름과 yourmodule/컨트롤러에 위치해야 /의

YourModuleNameYourControllerNameModuleFrontcontroller

YourModuleName = 이름이없는 이상이 완전히 잘못

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

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

파일이 yourmodule/뷰/템플릿/앞에 위치하게 될 그런 식으로

그리고 당신이 그 모든 지침을 따랐 경우 환경 설정에서 moduelController에 대한 친화적 인 URL을 설정 할 수 있어야한다 -> SEO & URL

BR의 그것은 여전히 ​​작동하지 않습니다

+0

당신이 내 변경 내용을 볼 수 있도록, 내가, 내 첫 번째 게시물을 편집했습니다. –

+0

http://mydomain.com/comparateur/product-list이 방법으로 시도하십시오 – user2831723

+0

"이 페이지가 이동했습니다."라는 동일한 메시지와 404가 다시 나타납니다 –

관련 문제