Контроллер модуля перенаправляет до 404 престашоп
-
21-12-2019 - |
Вопрос
У меня проблема с моим престашом, я хотел бы создать веб-страницу в модуле без использования CMS.
Но когда я хочу получить доступ к контроллеру с помощью этого URL: http://example.com/ Сравнитель / модуль / 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 & URLS
Page: produitsmarchands - productlist
URL: product-list
. Решение
У вас есть несколько фундаментальных ошибок.
Прежде всего, вы должны использовать FrontController, а скорее ModulefonontController.Поскольку вы расширяете модуль, а не полный сереоратный новый контроллер.
Следующая вещь - это то, что ваш класс не так.Это должно быть чем-то похожее на это.
YourModuleNameyourControlLernamemoduleFrontController
YourModuleName= Название вашего модуля
YourControllername= имя вашего контроллера и должен быть расположен в вашем Module / Controllers / Front
и последнее, но не менее важное значение совершенно не так
$this->setTemplate(__FILE__.'/../../../views/templates/front/ProductList.tpl');
.
Вы должны использовать это
$this->setTemplate('ProductList.tpl');
.
Таким образом, ваш файл будет расположен в YourModule / представления / шаблоны / спереди
И если вы следовали всем этим рекомендациям, вы должны быть в состоянии установить дружественный URL для вашего модификационного контроля в настройках -> SEO & URL
br's