Блог по продвижению сайтов Блог по SEO

Быстрое массовое редактирование товаров и категорий в Opencart

Просмотров: 6439

Сейчас я расскажу о том, как я сократил примерно в 10 раз время при добавлении товаров в магазин Opencart.

массовое-быстрое-редактирование-товаров-opencart-2

Есть у меня хороший клиент по SEO - он занимается бу двигателями из Европы и тому подобным. Я ему делал и сам готовый магазин, ну а теперь продвигаю в ТОП.

И попросил он меня добавить товары к нему в магазин. Время позволяло, и я решил заняться этим делом, заодно еще раз оттестировать свой магазин. Составил структуру, товары добавились быстро, но без фоток - он их на тот момент еще не отснял.

А через какое-то время прислал и фотки.

И я столкнулся с одним трудным моментом: нужно было в каждый товар:

  • во-первых, залить несколько фоток.
  • во-вторых быстро их перемещать между категориями и менять сортировку.
  • в-третьих, продублировать несколько одинаковых фото сразу для нескольких разных товаров, потому что каждый двигатель (со своими фотками) подходит к нескольким разным товарам. То есть разные товары с одной моделью - имеют одинаковые фотки. Например, двигатель для Ford Fusion - и для Ford Fiesta - на самом деле один и тот же.

И вот тут я реально застопорился.
Мне приходилось открывать каждый товар и делать одинаковые действия - прокликивать в каждом одни и те же картинки, и вручную привязывать их к каждому товару. А их может быть и 5, и 10 и 15. То есть это реально очень долго.

Ведь стандартный интерфейс Opencart имеет лишь самые базовые возможности по работе с товарами и категориями.

"Все, хватит работать руками, нужно включать голову", - подумал я.
Как здорово, что я сделал магазин на Opencart (читайте преимущества этого движка) - в сети нашлась туча готовых решений, чтобы добавлять и редактировать  товары реально быстро.

Поиск и выбор модулей

Я нашел несколько модулей Opencart для массового редактирования товаров и категорий.
Из них мне больше всего понравились три варианта: Batch Editor, Admin Quick Edit PRO и Менеджер Товаров.

Читайте также:  10 ошибок при выборе доменного имени для интернет магазина и бизнес сайта

Batch Editor отпал сразу, так как привязывается к домену, я такие модули не использую.
Менеджер Товаров оказался  вполне удобоваримым, русскоязычным и простым, но он не умел массово применять уже загруженные картинки к выбранным товарам.
А вот Admin Quick Edit PRO - оказался реальной находкой и спасением.

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

Изначально Admin Quick Edit PRO стоит денег, его можно купить на разных сайтах, гуглите в сети.

Как это работает

Вот стандартный интерфейс Opencart - видите, возможностей минимум.

Стандартная админка Opencart

А после установки и включения Admin Quick Edit PRO появляется сразу множество элементов, позволяющих редактировать товары и категории прямо с общей страницы. Причем можно это делать как в одиночном режиме, так и массово. Очень удобный модуль.

Расширенная админка Admin Quick Edit PRO

Что нужно для его работы:

  • Установить модуль (как обычный модуль Opencart - через менеджер установки)
  • Включить в модулях
  • И выбрать в настройках - на каких местах админки его задействовать (товары, категории, бренды и т.п.).

Я выбрал товары и категории.
Там в нем есть инструкция, можете почитать, все расписано.

Смотрите видео как это работает

В итоге я с первыми товарами промучился почти два часа, а после того как освоил быстрое редактирование товаров и категорий в Opencart, сделал оставшиеся товары за минут 10.
Реально экономит время в разы!

Смотрите также общую страницу как добавлять товары в магазин Opencart, там есть более полная информация с общими правилами работы с товарами и категориями.

Частые вопросы

Попробовала сама установить новый модуль и теперь я не могу зайти на админа :cry:

В подобной ситуации я рекомендую попросить хостера (что такое хостинг) восстановить программные файлы сайта на вчерашний день, любой хостер делает это быстро и бесплатно.

Читайте также:  Htaccess доступ по IP адресу за 1 минуту

Ну а на будущее перед любыми изменениями всегда делайте полный бекап магазина, так как по моим наблюдениям подобная ситуация происходит в 20-30% случаев с любыми модулями (неважно, платными или бесплатными) для Opencart, да и не только с этой CMS.

Поэтому если самому поставить модуль не получается, придется обратиться на биржу к программисту (как правильно нанять фрилансера на бирже) - возможно, нужно править программные файлы вашей темы для обеспечения совместимости с тем или иным модулем.

А как выбрать в нём главную категорию?

Это модуль для Opencart, а понятие главной категории есть только в Ocstore. Поэтому изначально модуль НЕ рассчитан на работу с главной категорией.

Однако, выход есть.

Нужно добавить в файле admin/model/extension/module/aqe/catalog/product.php после строки: if (isset($data['product_category'])) {

вот такой код:

$temp = array_shift($data['product_category']);
$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$temp . "', main_category = 1");

главная категория в admin quick edit pro

В этом случае первая выбранная категория - будет становиться главной. Я пробовал на версии на Ocstore 3 - всё работает ок.

Посмотрите, как это работает:

Ошибка при заходе в модуль на Opencart 3.0.3.6 и старше

Если модуль установился нормально, но при заходе в него вызывает ошибку типа такой:


Backend fatal error: PHP Fatal error: Uncaught Twig\\Error\\SyntaxError: Unknown "addslashes" filter in "extension/module/admin_quick_edit.twig"

Это значит, что версия Opencart свежая, а сам модуль более старый.

Я нашёл в интернете решение: нужно сделать массовую замену во всех файлах модуля текста addslashes() на e('html')

Проще всего это сделать в редакторе типа Notepad++

  • То есть нужно скачать модуль.
  • Распаковать его.
  • Открыть Notepad++ и выполнить поиск и замену по файлам CTRL + SHIFT + А (естественно, указав в качестве источника поиска папку с распакованным модулем).
  • Затем можно залить обновленные файлы обратно по FTP и обновить модификаторы. Либо если планируется установка модуля с нуля на другие сайты, то обратно запаковать архив (следите за тем, чтобы его название заканчивалось на ...ocmod.zip и чтобы в архиве не было лишних папок, только upload и install.xml).
  • После устанавливаем уже отредактированный модуль. Я так делал - всё сработало :yes:
Читайте также:  Бесплатный шаблон Opencart 3 на русском

Admin Quick Edit PRO Unknown "addslashes" filter

Если всё это кажется сложным - заплатите 500р на кворке, это всего около 6$, вам установят и настроят под ключ, а модуль реально нужный.

Ошибка при заходе в модуль на Opencart 3.0.3.8 и старше

Аналогично модуль может вызывать ошибку:


Uncaught Twig\Error\SyntaxError: Unexpected "spaceless" tag (expecting closing tag for the "macro" tag defined near line 1) in "extension/module/admin_quick_edit.twig" at line 1

Опять же нужно делать массовую замену во всех файлах модуля двух текстовых значений: меняем во всех файлах {% spaceless %} на {% apply spaceless %} и {% endspaceless %} на {% endapply %}

Там получится около 18 замен.

Заливаете измененные файлы вместо старых (например по FTP) и сбрасываете модификаторы.

Изменение цвета для количества

А еще рекомендую изменить стандартный цвет для количества товаров. По умолчанию он совершенно нелогично работает вот так в файле /admin/controller/extension/module/aqe/catalog/product.php


if ((int)$result['quantity'] < 0) {
$row[$column] = '<span class="label label-warning">' . $result['quantity'] . '</span>';
} else if ((int)$result['quantity'] <= 5) {
$row[$column] = '<span class="label label-danger">' . $result['quantity'] . '</span>';
} else {
$row[$column] = '<span class="label label-success">' . $result['quantity'] . '</span>';
}

То есть если товары ушли в минуса - то желтый, если от 0 до 5 - красный, если больше 5 то зеленый.

Мне удобнее вот так:

if ((int)$result['quantity'] < 1) {
$row[$column] = '<span class="label label-danger">' . $result['quantity'] . '</span>';
} else if ((int)$result['quantity'] <= 5) {
$row[$column] = '<span class="label label-warning">' . $result['quantity'] . '</span>';
} else {
$row[$column] = '<span class="label label-success">' . $result['quantity'] . '</span>';
}

То есть когда 0 и меньше - красный, когда меньше 5 - желтый, ну и остальные - зеленый.

быстрое редактирование товаров опенкарт количество товаров

Изменение времени показа всплывающего уведомления

В модуле AQE надоедливое всплывающее уведомление, которое висит пару секунд и бесит :devil:

Поэтому имеет смысл уменьшить время его демонстрации, это делается в файлах admin/view/javascript/aqe/catalog.min.js и admin/view/javascript/aqe/module.min.js (это для уведомления в настройках самого модуля).

Ищем две штуки:

  1. success_timeout=8e3 или success_timeout=5e3
  2. setTimeout(function(){t.alert("close")},8e3)})

И меняем, вместо 8e3 пишем, например, 800 - это время в миллисекундах.

изменение времени показа всплывающего уведомления в admin quick editor

Всё готово!

⚡ Массовое редактирование товаров Opencart, фото, атрибутов и т.п. с помощью специального модуля редактирования Опенкарт.

Полезные цитаты: Сегодня я богат именно благодаря тому, что я сделал в свободное время (Р.Кийосаки)

Блог — Сергея Арсентьева 📈
image
Сергей Арсентьев
Всего материалов на сайте: 241
Активных комментариев: 3 526
Работает онлайн: 11.3 лет
Читателей за это время: 2 580 784
Я в соцсетях —
Фото
Бесплатный видеокурс для начинающих. Что такое фриланс, можно ли на нем зарабатывать и сколько?
Бесплатно Подробнее
Фото
Бесплатная мини книга для тех, кто хочет заказать сайт, но растерялся во множестве CMS и вариантов выбора.
Бесплатно Подробнее
Фото
Пошаговый видеокурс "Как работать в Опенкарт" с уроками по добавлению товаров и статей.
Комментариев 37
  • Владимир

    не понял в чём быстрота загрузки фото с помощью Admin Quick Edit PRO - всё равно нужно фото сначала в files опенкарта загрузить...

    Комментировать
  • Илья
    Илья

    Сергей, добрый день!
    Есть потребность в удобном просмотре элементов фильтров, которые активны у товаров. Стоит модуль OCFilter. Чтобы просмотреть по каким фильтрам товар может фильтроваться, надо заходить в карточку товара. Это долго и неудобно. Есть мысль, что в каком-нибудь модуле для массового или быстрого редактирования товаров это реализовано или можно реализовать. Например, купить AdminQuickEditPRO и попросить автора допилить модуль, если он не может. Что скажете? Может быть из Вашего опыта есть решение?

    Комментировать
    • Сергей Арсентьев

      Здравствуйте, если вы про стандартные "фильтры" - которые есть в Опенкарте (но по которым почти никто не фильтрует) - то AdminQuickEditPRO как раз таки это есть. Скрин https://disk.yandex.com/i/34ZbaQbX9ZXSxg
      Но обычно все фильтруют по характеристикам и опциям. А их в товаре может быть десятки и сотни, и выводить в менеджер товаров их просто нет смысла, и никто не будет я думаю это допиливать.
      Как вариант в том же AdminQuickEditPRO кликать на буквы А или О и смотреть какие опции привязаны к товару.
      Но вообще так никто не делает, просто фильтруют по выбранным характеристикам и опциям и всё и не смотрят где какой товар привязан. Я как бы не очень понимаю ситуацию, в которой вам это понадобилось ))

      Комментировать
      • Илья
        Илья

        Сергей, спасибо за ответ! В том то и дело, что мы не пользуемся стандартными фильтрами. хотя их можно выгрузить и проверить через CSVPrice Pro. Вообще, ситуация такая: у нас часто появляются новые товары в большом количестве. Опции и атрибуты автоматом выгружаются из 1С. Затем операторы вручную на их основе делают фильтры в товарах. Иногда возникают ошибки. Поэтому есть идея просматривать фильтры товара списком, без открытия карточки. И пока никаких идей.

        Комментировать
        • Ольга
          Ольга

          Илья, BatchEditor вам в помощь. Массовое редактирование намного удобнее и быстрее чем в AQE.
          https://yadi.sk/i/C0N-r9alVHuS7g
          Хотя и AQE держу на всякий, пару вещей в нем быстрее делать.
          А по синхронизации с 1С есть один совершенно замечательный модуль Sync1C. Недорогой, простой в настройке и очень надежный. Автор помогает по любым вопросам.
          У меня 4 модуля без которых на Opencart не возможно работать это: Sync1C, Batch editor, OCfilter и Simple. За них не жалко потраченных денег.
          Еще многие хвалят Автоматическая обработка прайс листов, тоже хороший модуль, но сильно навороченный, пока до конца не разобралась в нем, да и для парсинга сайтов удобнее надстройку в Excel мне использовать.

          Комментировать
          • Илья
            Илья

            Ольга, здравствуйте! В вашем скрине есть столбец - фильтры. Там отображаются стандартные фильтры или же от сторонних дополнений фильтров?

            Комментировать
            • Ольга
              Ольга

              Здравствуйте, Илья.
              На скрине столбца фильтры не вижу :nerd:
              Но вообще модуль очень гибко настраивается по выводу столбцов и фильтров. https://yadi.sk/i/2f0ohGPGw1KtcQ
              Если имеете ввиду фильтры, которые у меня в столбце "Характеристики" это фильтры OCFilter.
              Вот хорошее видео по обзору этого модуля https://www.youtube.com/watch?v=ze5Cw2YAmIU

              Комментировать
              • Илья
                Илья

                Ольга, спасибо за отклик! Посмотрю ролик.

                Комментировать
  • Александр
    Александр

    Приветствую! В одном из магазинов поставил на 2.3.0.4 oc store и все замечательно. А вот на следующем магазине, на той же версии, почему-то после установки выдаёт ошибку на редактировании/добавлении опции... Может сталкивался кто?

    Комментировать
    • Сергей Арсентьев

      добрый день, не сталкивался никогда с ошибками при установке этого модуля, хотя ставил его на разные магазины (opencart, ocstore) разных версий. Смотрите логи, откуда ошибка, ну и скорее всего проще на биржу обратиться, вам рублей за 500р вполне помогут, если сами не разберетесь.

      Комментировать
  • Michael
    Michael

    Отредактировал цвета количества товаров, как указанов статье. Цветовая схема изменилась, но только до первой корректировки количества. Потом возвращается к исходной схеме. Странные дела...

    Комментировать
    • Michael
      Michael

      Дополню:
      Меняю количество с "зеленого" на например 3, становится красным, как до изменений, но стоит обновить страницу, тройка становится оранжевой.
      Почему она сразу, после корректировки не принимает новую цветовую схему?

      Комментировать
      • Сергей Арсентьев

        Потому что там надо менять в двух местах.
        вы в одном поменяли - а во втором остался старый порядок (сначала шел label-warning потом label-danger) а надо наоборот в двух местах: label-danger < 1 и потом label-warning <= 5 у меня это строки 455 и 1452

        Комментировать
        • Michael
          Michael

          Спасибо! Теперь все работает.

          Комментировать
  • Дмитрий
    Дмитрий

    Привет ребята! Подскажите пожалуйста.
    Модуль установился хорошо, спасибо за подсказку по ошибке)
    Но вот не сохраняет внесенные значения.
    Например, меняю количество в товара (в класс td добавляется editable-unsaved) обновляю страницу и вижу что количество не изменилось... И так по всем значениям, тупо не записываются в базу.
    Что это может быть??
    Заранее спасибо!

    Комментировать
    • Сергей Арсентьев

      (в класс td добавляется editable-unsaved)

      добрый день, а это что и зачем?
      модуль хорошо меняет массово количество товаров, выбрал нужные товары, выставил количество например 0 и всё - товары "нет на складе", не сталкивался с тем, чтобы эта простая функция в нем не работала.

      Комментировать
  • Ильнур
    Ильнур

    Спасибо автору за статью! Остались вопросы, есть ли возможность вывести в отдельный столбик на ocstore 3 главную категорию?
    И для категорий в ocstore 3 вывести "индексация"

    Комментировать
    • Сергей Арсентьев

      Увы, нет по этим двум вопросам )
      Потому что этих понятий нет в Opencart, а модуль ничего не знает про Ocstore.

      Комментировать
  • shetlan
    shetlan

    Огромное спасибо автору за труд. Сэкономил мне кучу времени. На ocStore 2.3.0.2.4 полет нормальный.

    Комментировать
  • Сергей

    Спасибо за идею использования данного модуля. Искал подобное под 2.3 - в комментарии от Дмитрия рабочий модуль. Большое спасибо)

    Комментировать
  • Дмитрий

    Кто искал для версии 2.3
    ссылка удалена
    Поставил на своем сайте, полет нормальный.

    Комментировать
  • Андрей
    Андрей

    Подскажите, можно ли с помощью этого модуля массово изменить цены? Например повысить на 5%. Если нет, то можно ли это сделать с помощью модуля Batch Editor или может есть какой-то специализированный модуль?

    Комментировать
    • Сергей Арсентьев

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

      Комментировать
  • kwakin
    kwakin

    у меня оба стоят и Admin Quick Edit PRO и Batch Editor'
    оба очень хороши

    Комментировать
  • Вячеслав
    Вячеслав

    Это ж скупердяем надо быть, чтобы принципиально не использовать платный модуль, который привязан к домену. Среди самых действительно полезных модулей для интернет-магазинов нет бесплатных, а то, что их авторы защищают их от таких скупердяев, как автор этой статьи, ionCube'ом - это правильно. Они проделали огромную работу и имеют право на вознаграждение. Сравнивать Admin Quick Edit PRO с Batch Editor'ом - это как запорожец сравнить с мерседесом.

    Комментировать
    • Сергей Арсентьев

      Это ж каким недалеким нужно быть, чтобы зайти на чужой блог и попытаться обосрать автора на пустом месте. А может просто делать нехер человеку, кто ж его поймет.
      Я НЕ использую модули, которые привязаны к домену по двум причинам:

      1) я делаю магазины для клиентов, сделал более 100, на каждом в среднем установлено около 30 модулей, если все они были бы платными и привязанными к домену, хотя бы по 500 росс. руб, то это вышло бы 1 500 000 росс. рублей. Если для вас это гроши, то бога ради, покупайте хоть винду лицензионную, хоть музыку в itunes - ваше право.

      2) зачем мне модуль привязанный к домен, возня с ioncube и т.п. если есть альтернативный платные и бесплатные модули, которые также круто решают задачи и при этом не привязаны ни к чему. Очевидно, что это просто лишний геморрой. Привязанный к домену модуль имеет смысл использовать только в том случае, если нет альтернативы, а ее как раз полно, и это очень хорошо.

      Кроме того, я работал с Batch Editor, ну никакого впечатления на меня он не произвел. Функций у него много, интерфейс субъективное говно. Подобные продукты я своим читателям рекомендовать не берусь. А вы на своем блоге можете делать как вам вздумается.

      Комментировать
    • kwakin
      kwakin

      модуль с привязкой к домену это не правильно

      Комментировать
  • Влад
    Влад

    А каким образом Вы решаете работу с главной категорией товара в ocstore? Этот модуль ее затирает.

    Комментировать
    • Сергей Арсентьев

      Главная категория существует только в Ocstore, а этот модуль про неё ничего не знает. В статье добавил решение.

      Комментировать
  • Андрей
    Андрей

    точно. нашел в настройках-опции самого магазина

    Комментировать
  • Андрей
    Андрей

    На странице в админке на странице выводится только по 20 строк товарных позиций. как сделать чтобы их по 100 а желательно 1000 там выводилось?

    Комментировать
    • Сергей Арсентьев

      В настройках задается это значение, поищите там.

      Комментировать
  • Андрей
    Андрей

    оказалось не только у меня
    "на 2.3.0.2.2 выдает ошибку Fatal error: Cannot redeclare ModelExtensionEvent::getEvent() in C:\OpenServer\domains\signalsos\system\storage\modification\admin\model\extension\event.php on line 20"

    утверждение проверено)
    AdminQuickEditPRO_v5.5.0_oc2.1.x-2.2.x

    Комментировать
    • Сергей Арсентьев

      На 2.3 работать версия для 2.1-2.2 вряд ли будет, там в новой версии что-то намудрили с модификаторами. Поэтому гуглите AdminQuickEditPRO под вашу 2.3 систему.

      Если я найду, то выложу, но пока использую Ocstore 2.1 как наиболее проверенную систему на данный момент с максимум модулей.

      Комментировать
      • Amsterdam
        Amsterdam

        Ну а зачем тогда тут указывать совместимость 2.x ?!) Твой модуль админку сломал, спасибо))

        Комментировать
        • Сергей Арсентьев

          откатитесь из бекапа.
          я не указывал нигде совместимость модуля.
          я только написал, что ставится он как и любой новый модуль на 2.х версиях Opencart через менеджер установки.
          если вы помните, на 1.5 всё ставилось через FTP только

          Комментировать
  • Андрей
    Андрей

    установился
    но
    Fatal error: Cannot redeclare ModelExtensionEvent::getEvent() in ................/system/storage/modification/admin/model/extension/event.php on line 20

    такая ошибка после обновления модификаторов

    OpenCart Version 2.3.0.2 (rs.3)

    Комментировать
Смотреть еще комментарии
Добавить свой комментарий