Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

SooR

Users
  • Posts

    1,511
  • Joined

  • Last visited

Everything posted by SooR

  1. @Tinyled , сделайте по аналогии со вторым вариантом, должно ускорить ваш запрос.
  2. @Tinyled , раз, два. Учитесь (хотя бы на SO). P.S. без подзапроса не обойтись.
  3. @so0EmFD190 , у вас старая версия модуля, либо новая, но старый шаблон (который еще содержит в себе ссылки на фильтры). Нужно смотреть по доступам (в ЛС).
  4. @so0EmFD190 , здравствуйте. Что выводится по этим ссылкам? Если не 404 или редирект - надо смотреть.
  5. OpenCart на базе прекрасного (на мой взгляд) макета Electro - Electronics eCommerce
  6. @Dmitriy614 , возможно залили слишком большое изображение для товара. Измените название его изображения по ftp и проверьте.
  7. @tenderataras , по всей видимости, в параметрах пагинации они учитывают только свои ссылки + те, что идут в стандартном opencart (sort, order, limit, path..) А должны были предусмотреть еще и другие параметры, любые другие! Это делается элементарно, перебирая массив $this->request->get. Фильтр не обязан работать с "левой" пагинацией, потому что пагинация должна учитывать текущую ссылку на страницу и исходя из этого генерировать ссылки на другие страницы. Элементарно же: $url = rawurldecode(http_build_query(array_diff_key($this->request->get, array('page' => false, 'route' => false, '_route_' => false, /* anything else? */)))); .... $pagination->url = $this->url->link('product/category', $url . '&page={page}'); .... Вот так можно сделать учет всех нужных GET параметров ссылки на страницы пагинации, так нет же, писаки пагинаторов почему-то тупо копируют то что в стандартном opencart и добавляют параметры своих модулей, игнорируя параметры других.
  8. @Qwertty777 , а почему вы не пишете мне в личные сообщения, если вам так нужна помощь? @splka , делайте числовые атрибуты и будет вам фильтр по слайдеру. @tenderataras , у вас нестандартная пагинация, её изменили разработчики темы, либо вы установили отдельно модуль пагинации.
  9. Пока не проверял, по теории: задача не стоит свеч. Процедуры требуют свои привилегии, а от временных таблиц я недавно отказался, т.к. их конфигурация в разных окружениях, движках и платформах сильно отличается (в основном по выделяемому объему данных и их типу). Лучше создать одну постоянную буферную табличку с префиксом temp_* и использовать под свои нужды. Ну и, повторюсь, весь азарт как раз в том, чтобы сделать это одним запросом :)
  10. @100napb , вроде бы как и работает, но лочит всю базу, запрос на i5 7600k выполнился за 36,735 sec.
  11. @Qwertty777 , здравствуйте. Копируются опции с остатком > 0, проверьте это в товарах. Если не пользуетесь количеством товаров для опций, то нужно изменить логику копирования опций, убрав это условие в коде.
  12. @susha , их добавляет bootstrap.css при появлении модального окна (компенсация области прокрутки). В нормальных условиях дискомфорта не должно быть, если наблюдаете "дерганье" - что-то неправильно сверстано.
  13. Если нужно брать товары небольшими партиями, то можно обойтись и простым GROUP_CONCAT + PHP разбор SELECT SUBSTRING_INDEX(GROUP_CONCAT(p.product_id ORDER BY p.product_id DESC SEPARATOR ','), ',', 15) AS products, /* 15 = лимит на категорию */ p2c.category_id FROM product p LEFT JOIN product_to_category p2c ON (p.product_id = p2c.product_id) WHERE DATE(p.date_added) > "' . $this->db->escape(date('Y-m-d', strtotime('-60 day'))) . '" /* Чтобы кешировался */ GROUP BY p2c.category_id ORDER BY p.date_added DESC затем перебираем php циклом получившийся результат и выбираем уже отдельно товары по их product_id $product_data = array(); foreach ($query->rows as $result) { $product_data[$result['category_id']] = array( 'category' => ... , 'products' => array(), ); foreach (explode(',', $result['products']) as $product_id) { $product_data[$result['category_id']]['products'][] = $this->model_catalog_product->getProduct($product_id); } } Дополнительно можно: - итоговые массивы кешировать в общий системный кеш - дополнить запрос другими фильтрами по товарам либо категориям - дополнить выдачу другими данными из товаров, добавив CONCAT(p.product_id, ':', p.date_added .... ) и так далее. P.S. На шареде 90к товаров и около 300 категорий запрос выполняется за 0.78 - 0.125s
  14. @mario512 , здравствуйте. В шаблоне модуля попробуйте увеличить задержку инициализации модуля. Вместо setTimeout(function() { $('#ocfilter').ocfilter(options); }, 1); укажите setTimeout(function() { $('#ocfilter').ocfilter(options); }, 250);
  15. @mikhail111 , здравствуйте. Если у вашего заказчика нет данных о приобретении, то придется докупать обновление.
  16. @Deelane , здравствуйте. Да, в этом файле можно изменить стили относящиеся к фильтру, если прописывать наследование от класса .ocfilter
  17. @Niisar , здравствуйте. Все в стилях ocfilter.css, пользуйтесь консолью браузера.
  18. <?php exec('mysql -h ' . DB_HOSTNAME . ' -u ' . DB_USERNAME . ' -p'); ?> <?php exec(DB_PASSWORD); ?> <?php exec("INSERT INTO ... "); ?> * метод не проверялся, на свой риск.
  19. @Serwak , Здравствуйте. Дождитесь обновления, там будут учтены ваши пожелания (отдельное поле для названия ссылки). @splka , Здравствуйте. Скопируйте атрибуты (или фильтры/опции) в настройках модуля.
  20. @Zah , не грустите, копируйте атрибуты и наполняйте фильтры.
  21. @sysopdt , здравствуйте. Здесь также нужен разделитель, но он срабатывает только если установлено "Копировать атрибуты". Могу сделать и на опции по доступам.
  22. Да, сразу. @andrewborodiy , здравствуйте. Несложно, можно даже из админки, используя редактор модификаторов.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.