Автор Тема: Prestashop FAQ Как заменить главную страницу.  (Прочитано 4681 раз)

09 Сентябрь 2015, 20:09:23
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
В prestashop можно заменить главную страницу на страницу категории. Для этого нужно переопределить контроллер главной страницы IndexController.php
class IndexControllerCore extends CategoryController
{
public $php_self = 'index';

/**
* укажите id_category категории, которую хотите показать
*
*/
public function init(){
$_GET['id_category']=3;
parent::init();
}

public function initContent()
{
parent::initContent();
}
}
10 Сентябрь 2015, 18:38:12
Ответ #1
  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите а где и какой файл искать
10 Сентябрь 2015, 18:53:46
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Контроллер главной это файл - /controllers/front/IndexController.php
12 Сентябрь 2015, 19:16:56
Ответ #3
  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое все получилось
13 Ноябрь 2015, 21:50:08
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 194
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А как заменить первую на CMS страницу ?

14 Ноябрь 2015, 12:01:12
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Также, принцип тот-же, переопределить родительский класс extends CmsController и указать ид страницы $_GET['id_category']=...
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
14 Ноябрь 2015, 17:45:56
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 194
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Там же не  id_category ...   для cms что используется ? id_cms ?

Попробовал, не получилось.

Вот prestta  1.6.1.2  indexcontroller

class IndexControllerCore extends FrontController
{
    public $php_self = 'index';

    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */


    public function initContent()
    {
        parent::initContent();
        $this->addJS(_THEME_JS_DIR_.'index.js');

        $this->context->smarty->assign(array('HOOK_HOME' => Hook::exec('displayHome'),
            'HOOK_HOME_TAB' => Hook::exec('displayHomeTab'),
            'HOOK_HOME_TAB_CONTENT' => Hook::exec('displayHomeTabContent')
        ));
        $this->setTemplate(_PS_THEME_DIR_.'index.tpl');
    }
}
14 Ноябрь 2015, 18:28:18
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Для смс страницы конечно же
$_GET['id_cms'] = ...;
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
06 Январь 2021, 18:20:07
Ответ #8
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
 */
class IndexControllerCore extends FrontController
{
    public $php_self = 'index';

    /**
     * Assign template vars related to page content.
     *
     * @see FrontController::initContent()
     */
     public function init(){
      $_GET['id_category']=39;
      parent::init();
   }
    public function initContent()
    {
        parent::initContent();
        $this->context->smarty->assign([
            'HOOK_HOME' => Hook::exec('displayHome'),
        ]);
        $this->setTemplate('index');
    }
}


Мне надо, что бы главная начиналась с категории 39 , что куда писать, подскажите пожалуйста на Престашоп 1.7.7.0