У меня есть http://example.com/index.php как моя домашняя страница. URL моей страницы категории – http://example.com/index.php?id_category=10&controller=category
Теперь мне нужно перенаправить мою домашнюю страницу на страницу категории. Я попытался в настройках> SEO и URL> Установить URL-адрес магазина> Базовый URI как index.php? Id_category = 10 & controller = category
Теперь страница перенаправляется на мой URL-адрес категории, но страница не открывается. URL-адрес отображается следующим образом: http://example.com/index.php?id_category=10&controller=category/index.php ?
Вы делаете это неправильно. Сделайте это следующим образом:
A) Легко, но не рекомендуется. Путь:
1) Открытые контроллеры / IndexController.php
2) Измените функцию initContent следующим образом:
public function initContent() { parent::initContent(); Tools::redirect('index.php?id_category=10&controller=category'); $this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome')); $this->setTemplate(_PS_THEME_DIR_.'index.tpl'); }
B) Рекомендуемый способ:
1) Копировать контроллеры / IndexController.php для переопределения / Controllers / folder 2) Откройте скопированный файл и отредактируйте, как показано ниже:
class IndexController extends IndexControllerCore { public function initContent() { Tools::redirect('index.php?id_category=10&controller=category'); } }
3) Сохраните файл и перейдите в папку кэширования. Найти class_index.php , если он есть, затем удалить его. Затем проверьте сайт, если он работает нормально.
Заметки :
1) Приведенный выше код должен дать вам представление, он может работать или не работать. Пожалуйста, выполните настройку в соответствии с вашими потребностями.
2) В последних версиях Prestashop все классы индексируются в файле class_index.php. поэтому, если вы сделали переопределение контроллера или класса, он может не работать, пока вы не удалите этот файл. Когда новый запрос делается на сервер, PS автоматически восстанавливает этот файл для вас.
Надеюсь, это поможет.
Это мой путь:
class IndexControllerCore расширяет FrontController { public function initContent () { Инструменты :: перенаправления ( 'index.php id_category = 3 & контроллер = категория?'); } }