Помощь Как Увеличить время нахождения в Админке PS 1.7? Работа с оверрайдами PS 1.7

Тема в разделе "PrestaShop", создана пользователем leha128, 13 янв 2019.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. leha128

    leha128 Постоялец

    Регистр.:
    2 июн 2013
    Сообщения:
    113
    Симпатии:
    54
    Все время выкидывает из админки после 15 минут. (900 сек.) Никакие изменения при этом не сохраняются.

    На форумах нашел что надо поправить контроллер:
    Цитата:
    " Откройте файл /classes/controller/AdminController.php и удалите код:
    Код:
    if (isset(Context::getContext()->cookie->last_activity))
    {
    if ($this->context->cookie->last_activity + 900 < time())
    $this->context->employee->logout();
    else
    $this->context->cookie->last_activity = time();
    }
    "
    или заменить на 10000 (Большее значение в Секундах).

    Изменил в оверрайде
    override\classes\controller\ AdminController.php
    значение с 900 на 10000.

    Никаких изменений. Как выкидывало так и Выкидывает.

    Подскажите как правильно сделать оверрайд, чтобы при обновлении не затерлись исправления и чтобы он работал ?
    Т.е. чтобы с админки не выкидывало постоянно!
     
    Последнее редактирование: 13 янв 2019
  2. longerzoom

    longerzoom Постоялец

    Регистр.:
    7 окт 2016
    Сообщения:
    56
    Симпатии:
    47
    Привет, мне кажется что это время указанно в секундах, и если увеличить 900 тоесть 15 мин на 3600 то будет 1 час
     
  3. leha128

    leha128 Постоялец

    Регистр.:
    2 июн 2013
    Сообщения:
    113
    Симпатии:
    54
    У меня и написано вроде бы что это время в секундах! Вопрос не в этом. Тесты показали, что данная модификация работает! Т.е. если добавить 10000 в код /classes/controller/AdminController.php то
    Админка работает и не выбивает постоянно.

    Но при обновлении этот код затрется новыми обновлениями. Как правильно его добавить в оверррайд что бы он при обновлении не затирался и работал ?

    Если просто добавлять в override\classes\controller\AdminController.php
    то Админка продолжает закываться. Через 15 минут.
     
  4. sergiykhd

    sergiykhd Sergiy

    Регистр.:
    17 апр 2013
    Сообщения:
    1.010
    Симпатии:
    707
    а не проще в настройках указать?

    Настройки/Администрация
    Срок действия cookies в Панели управления магазином
     
    _sashok нравится это.
  5. vitos1401

    vitos1401 Постоялец

    Регистр.:
    3 ноя 2012
    Сообщения:
    139
    Симпатии:
    163
    Если вы внесли изменения в AdminController.php, а потом просто скопировали этот файл в override\classes\controller\, то ... он работать не будет.
    Вам нужно "расширить" класс и указать Престе, что появился новый оверрайд.
    Для этого в скопированном файле измените:
    Код:
    class AdminControllerCore extends Controller
    на:
    Код:
    class AdminController extends AdminControllerCore
    И всё будет работать! :ay:
    И при обновлениях вам "не страшен серый волк" ....
     
    leha128, _sashok и DaoKakao нравится это.
  6. leha128

    leha128 Постоялец

    Регистр.:
    2 июн 2013
    Сообщения:
    113
    Симпатии:
    54
    Если Вы про Это
    https://drive.google.com/file/d/1gKMH8IJTRa3TTGRcDdLtR47unvSVdeq9/view?usp=sharing
    То Это не работает. Кроме того там и так время в часах указано, если перевод не врет. Sergiy - Вы сами пробовали применить такие настройки, у Вас работает? (кеш почищен после настройки! - чтобы не было вопросов)

    Vitos - огромное спасибо. Попробую отпишусь.
    Если правильно понял то нужно в файле override\classes\controller\AdminController.php - ктр. будет из оверрайда работать пререопределить классы только не совсем понял правила, что на что менять.

    Для этого частного случая понятно, надо применить
    class AdminController extends AdminControllerCore
    потестю - проверю, а для остальных ?
    Не совсем понял логику замены, поделитесь если не трудно.

    Чтобы не открывать новую тему могли бы Вы дать ссылочку на правила преопределения контроллеров, если они есть? В офиц. документации так написано, что вобще не понятно или гугл так переводит, что черт его разберет )
     
    Последнее редактирование: 14 янв 2019
  7. vitos1401

    vitos1401 Постоялец

    Регистр.:
    3 ноя 2012
    Сообщения:
    139
    Симпатии:
    163

    Самый простой способ осуществить переопределение:
    1) Определить контроллер/файл_класса/файл_модуля/, в котором будем носить изменения (переопределять классы)
    2) Копируем этот контроллер в соответствующую папку.
    Например, если этот контроллер находился по адресу:
    ../classes/controller/AdminController.php,
    то копируем в папку по адресу:
    ../override/classes/controller/AdminController.php.

    Если, к примеру, будем вносить изменения в файл:
    ../controllers/front/listing/ManufacturerController.php,
    то копируем в папку (или создаем путь) по адресу:
    ../override/controllers/front/listing/ManufacturerController.php

    Если в оверрайдах такой конечной папки нет, то необходимо ЕЕ СОЗДАТЬ, и именно в эту папку, по этому адресу, со всеми вложенными папками (создать все вложенные папки, повторяющие путь) поместить наш "новый файл"
    3) В скопированном файле произвести требуемые правки.
    4) И далее, в самом начале скопированного файла требуется "расширить" (указать) класс "нового" контроллера/файла_класса/файла_модуля/.
    Например, изменить:

    class ManufacturerControllerCore extends ProductListingFrontController (было)
    на:
    class ManufacturerController extends ManufacturerControllerCore (стало)

    Т .е. нужно получить в новом файле так:
    class класс_нового_контроллера_оверрайда extends класс_старого_контроллера_(ядро)
    Вот такая логика .. И так, везде, по аналогии.
    В итоге при обновлении, всё, что находится в папке /override/ не будет затронуто и затёрто - и все ваши правки останутся на месте.
     
    leha128, _sashok и latteo нравится это.
  8. leha128

    leha128 Постоялец

    Регистр.:
    2 июн 2013
    Сообщения:
    113
    Симпатии:
    54
    Уважаемый Vitos после Вышеуказанных замен

    Код:
    class AdminControllerCore extends Controller
    на:
    Код:
    class AdminController extends AdminControllerCore
    Админка перестает загружаться и выдается ошибка:

    Страница недоступна
    Сайт ****** пока не может обработать этот запрос.
    HTTP ERROR 500

    У Меня PHP 5.6. Преста 1.7.4.4 но думаю это не влияет на ошибку.

    После возврата исходного файла, админка опять начинает работать!!!

    Вопрос остается открытым? Делаю по инструкции выше, но Возможно я что-то я делаю не так ?
     
    Последнее редактирование: 22 янв 2019 в 02:48