[Помогите] Помогите - что делает переменная в SimonFilter

Тема в разделе "OpenCart", создана пользователем MGT1, 19 авг 2014.

  1. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    In your admin index.php find

    if (isset($request->get['route'])) {

    and add the following line of code just before that line:

    $controller->addPreAction(new Action('module/simonfilters/managecache'));

    Вставляю - и админка начинает конфликтировать. Что оно делает?
     
  2. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    61
    Подгружает контроллер managecache.php, насколько я понимаю.
    А что значит начинает конфликтовать? Может быть ошибку покажете?
     
  3. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    в админке окстрое выдает такую ошибку
    Notice: Undefined index: route in/hosting/setkacom/data/www/setka24.com/admin/controller/module/simonfilters.php on line 210

    Ничего не подтирал. Единственное что - когда установил сам симон - вверху ошибки были в самом модуле - красным высвечивало. Там нажал применить. Строка 210
    if (in_array($this->request->get['route'], $allowedRoutes)) {

    Вот функция в общем

    public function managecache() {
    $allowedRoutes = Array(
    "catalog/product/update",
    "module/simonfilters"
    );

    if (in_array($this->request->get['route'], $allowedRoutes)) {

    if ($this->config->get('simonfilters_prevent_admin_delete_cache_on_save') != "1") {
    $this->cache->delete("simonfilters");
    $simonfilterstimestamp = time();
    $this->db->query("UPDATE " . DB_PREFIX . "setting s SET s.value='{$simonfilterstimestamp}' WHERE s.key='simonfilterstimestamp'");
    }
    }
    }

    Ocstore 1.5.5.1.2
    simonfilters - 2.12.0 Build 0001
     
  4. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    61
    Странно... $this->request->get это подготавливаемая по-умолчанию OpenCart ом функция и route там точно должен быть.
    Попробуйте заменить Ваш кусок кода на такой
    PHP:
    public function managecache() {
    $curRoute=$this->request->get['route']
    $allowedRoutes = Array(
    "catalog/product/update",
    "module/simonfilters"
    );

    if (
    in_array($curRoute$allowedRoutes)) {

    if (
    $this->config->get('simonfilters_prevent_admin_delete_cache_on_save') != "1") {
    $this->cache->delete("simonfilters");
    $simonfilterstimestamp time();
    $this->db->query("UPDATE " DB_PREFIX "setting s SET s.value='{$simonfilterstimestamp}' WHERE s.key='simonfilterstimestamp'");
    }
    }
    }
    Хотя вообще-то у меня и без правок с точно такой-же функцией работает. Попробуйте еще переставить фильтр, почистить все кеши
     
  5. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Не помогло
    Notice: Undefined variable: curRoute in /hosting/setkacom/data/www/setka24.com/admin/controller/module/simonfilters.php on line 210