Ошибки и недочеты

Тема в разделе "Предложения и пожелания", создана пользователем Korovke, 30 апр 2015.

  1. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Ошибка с обновить это проблема бутстрап и в 2.0.3 вроде решена. По запомнить директории это частное решение в сборке, а не движка. Думаю тоже появится такая функция (мне @Ravilr делал для сайта)
     
  2. Валерик

    Валерик Пользователь

    Сообщения:
    101
    Симпатии:
    7
    Опен 2.0.3.1 rs2 Если в редакторе товаров перейти на вкладку <связи> и в строке <категории>набрать несколько букв -выпадет список, но бывают ситуации, когда из этого списка выбираются только первые 1-2 элемента и только с 4-5 раза выбираются остальные. Но это происходит не всегда, иногда всё работает нормально, потом опять приходится выбирать один и тот же пункт несколько раз.
    Подскажите, а другой редактор описания товаров будет или придется работать с этим?
     
  3. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    на локалке видел похожее, в живую нет. Надо потестить.. мне кажется срабатывает автозаполнение из браузера которое..
     
  4. Валерик

    Валерик Пользователь

    Сообщения:
    101
    Симпатии:
    7
    Заметил, что если регулярно (через 5-7 записей) обновлять кеш браузера (Ctrl + F5), то проблема исчезает.
    Если можно в следующей версии в каталоге товаров опустить кнопки <добавить><копировать><удалить> к кнопке <фильтр> - будет на много удобнее.
    Еще было бы хорошо иметь возможность где нибудь в настройках иметь выбор фильтров и колонок таблице <Товары>. Чтоб была возможность выводить на экран только те поля, которые сейчас нужны для работы.
     
    Последнее редактирование: 19 сен 2015
  5. Валерик

    Валерик Пользователь

    Сообщения:
    101
    Симпатии:
    7
    Заметил еще одну особенность. Если нажать на главную категорию в левом меню, то оно открывается и предлагает выбрать подкатегорию. Если попытаться нажать на главную категорию в верхнем меню, то выпадает меню выбора подкатегорий без права захода в главную категорию. Если же категория в вержнем меню не имеет подкатегорий, то в неё можно свободно войти
     
  6. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    ой это уже обсуждалось. И это не ошибка, это особенность бутстрапа и необходимость для айпадов айфонов итд..
    И есть так же решение на форуме
     
  7. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
  8. my2you

    my2you Продвинутый пользователь

    Сообщения:
    281
    Симпатии:
    125
    это не имеет отношение же к сборке, только косвенно.. Написали бы в личку админу.
    А в принципе он и так наверно знает. Т.к в поиске нет проиндексированных страниц с www
     
    Последнее редактирование: 27 сен 2015
  9. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    я предположил что должно работать что с www с без www

    просто частенько пытаюсь зайти на форум а страница недоступна.. o_O (к счастью не долго) и тут www не пашет предположил что неполадки.... :)
     
  10. alex_a_k

    alex_a_k Пользователь

    Сообщения:
    37
    Симпатии:
    0
    Юзаю сборку v2.0.3.1 (rs.2)
    Проблема осталась.

    popup.jpg

    Как пофиксить то, неужели никто не знает решения?

    P.S. Предложения обновиться на 2.3 идут лесом, ибо установлены модули, не работающие на этой версии.
     
  11. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    наверно вам так же нужно и ответить?? в той же форме? В цитате написано, обновить бутстрап.. попробуйте.
     
  12. alex_a_k

    alex_a_k Пользователь

    Сообщения:
    37
    Симпатии:
    0
    Обновил до последней 3.3.5, проблема осталась! <:-((
    Какие есть еще варианты?

    P.S. Приношу извинения, если кого задело мое предыдущее сообщение...
     
  13. KonstKey

    KonstKey Новичок

    Сообщения:
    3
    Симпатии:
    6
    Обнаружил недочёт в catalog/controller/startup/seo_url.php строки 145-151:

    } else {
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($data['route']) . "'");
    if ($query->num_rows) /**/ {
    $url .= '/' . $query->row['keyword'];
    unset($data[$key]);
    }
    }

    Данный кусок кода может сработать несколько раз вместо задуманного одного и при этом обнулить ключи с параметрами (такими, как limit, например) - что и происходило на одном из моих сайтов.

    У меня исправлено так:

    } elseif ($key == 'route') {
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($data['route']) . "'");
    if ($query->num_rows) /**/ {
    $url .= '/' . $query->row['keyword'];
    }
    }
     
    Последнее редактирование: 8 ноя 2016
    Ravilr и Vlad нравится это.
  14. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    а можно примерчик? Как увидеть баг?
    получается добавили условие $key == 'route' и убрали unset($data[$key]);
     
  15. KonstKey

    KonstKey Новичок

    Сообщения:
    3
    Симпатии:
    6
    Первый раз я увидел баг на странице сравнения товаров - ссылка на кнопке удалить должна быть вида host/compare-products?remove=12345
    а ссылка была такая: host/compare-products/compare-products
    Причём этот баг проявляется не на всех сайтах и не во всех случаях - у меня отразилось ещё на странице акции и в поиске (не работала пагинация и выбор количества отображаемых элементов), в каталоге работало всё нормально, что логично, потому что там срабатывает первое условие
    if ($data['route'] ==). В случае с ссылкой host/compare-products?remove=12345 если первым ключём в массиве data выпадает 'route', то выполняется обращение к базе данных, 'route' удаляется (а потом ниже ещё раз), и цикл перебора ключей массива data завершается ввиду isset($data['route'])=false;
    Но если первым ключём выпадет 'remove', то к URL приплюсуется результат запроса к базе данных, уничтожится необходимый для составления ссылки ключ 'remove' и потом ещё раз при проходе с ключём 'route' снова в url приплюсуется запрос и уничтожится ключ 'route' (и внизу ещё раз будет попытка unset($data['route']) ).

    То есть здесь не учтена произвольность перебора ключей в ассоциативном массиве.
     
    Romans, Ecsiron, Vlad и ещё 1-му нравится это.
  16. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    и редко видимо возникающая. Никто еще не говорил про это. Спасибо вам!!
     
    alex_a_k нравится это.
  17. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    Здорово, но не понятно
    Это уже глюк, с которого и нужно было начинать
    Далее
    seo_url(pro) - разбивает на части и вытягивает нужные роуты
    ну будет два одинакоdых route 9которых не будет - индекс то один
    Но в data будет $_GET['remove'], с которым все хорошо и в результате будет, то что есть
    Так что все же там такое?
     
  18. KonstKey

    KonstKey Новичок

    Сообщения:
    3
    Симпатии:
    6
    откуда будет два одинаковых route? data заполняется парсингом всего url в целом сразу и к массиву $_GET за отдельными параметрами обращения нет - remove уничтожается в цикле в некоторых случаях. В этот код попадает корректный неЧПУ url, созданный методом Link класса Url, а на выходе метода rewrite получается host/compare-products/compare-products из за недочта, который я описал

    Вот выписка по ассоциативным массивам с codeharmony.ru:

    Другая разновидность массивов в PHP - это ассоциативные массивы (также называемые словарями или картами).

    Отличие от простого индексного массива заключается в том, что в ассоциативном массиве в качестве индексов используются не целые числа, а значения типа "строка". Так, например, в числовом массиве русских царей по имени "Иван" элемент "Иоанн Васильевич" будет может иметь индекс 4, а в ассоциативном массиве ему может быть присвоен индекс "Грозный".

    Другое отличие заключается в том, что если у числовых массивов существует четкий порядок элементов, определяемый их ключами, ассоциативные массивы, как правило, не предоставляют никаких гарантий относительно порядка существующих в них ключей. Хотя сами элементы добавляются в определенном порядке, позже определить этот порядок оказывается невозможным.

    Вот тут корень глюка
     
    Последнее редактирование: 10 ноя 2016
  19. alfirst

    alfirst Новичок

    Сообщения:
    6
    Симпатии:
    1
    Сборка v2.0.3.1 в файле /catalog/model/tool/image.php замечена странность в строке 16-18:
    if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
    return DIR_IMAGE . $image_old;
    }
    т.е если картинка не из этих типов то возвращается оригинал, но к ней прикладывается абсолютный путь.
    (в моем случае /var/www/user6117/data/www/vybor61.ru/image/catalog/1/7/1/1/0/17110_0.jpg
    я исправил на следующее:
    if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
    if ($this->request->server['HTTPS']) {
    return $this->config->get('config_ssl') . 'image/' . $image_old;
    } else {
    return $this->config->get('config_url') . 'image/' . $image_old;
    }
    }
     
    Ravilr нравится это.
  20. my2you

    my2you Продвинутый пользователь

    Сообщения:
    281
    Симпатии:
    125
    В стандартной поставке строки указанные строки файла выглядят так
    PHP:
                $directories explode('/'dirname(str_replace('../'''$new_image)));

                foreach (
    $directories as $directory) {