Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Сборка категорий] Скрипт сопоставления категорий с донором


Rassol2
 Поделиться

Рекомендованные сообщения

  

Вспомогательный скритп для сопоставления категорий.
Это скрипт предназначен для тех кто делает заказы на базе модуля SimplePars, это не коммерческий продукт и делался на быструю руку для людей готовых ковыряться. Кто не готов просто пройдите мимо.

Для того чтобы работать с сопоставлением категорий вам нужно пропарсить весь сайт в csv. (рекомендую использовать кеш, что бы потом повторно не долбить донора) Так же прайс должен быть составлен в кодировке UTF-8
Прайс должен состоять из одной границы парсинга, а эта граница парсинга должна состоять полностью с готовой структурой категорий.
То есть.
Одежда{csvnc}Женская{csvnc}Брюки

 

В прайсе это будет выглядеть так.
 

Спойлер

3RbWwlt.png


Далее загружаете содержимое архива в директорию /admin/ на вашем сайте.
И вызывайте в браузере мой_сайт/admin/spcats/

Вы увидите такую картину.
 

Спойлер

urtwJhK.png


тут у вас будет кнопка выполнить и селектор.
Селектор выбирает прайс из директории /uploads/

После того как выбрали прайс, нажимаете выполнить.  Скрипт составит для вас структуру для сравнения.
 

Спойлер

A338Mww.png

В красном квадрате записаны категории донора что вы настроили. А в синем блоке у вас доступен выбор категории из вашего магазина.
И на каждую категорию донора вам нужно выбрать категорию у вас в магазине.

 

Теперь вы, или ваш клиент может приступить к сопоставлению категорий.
После того как будет выбраны нужные пути нажимаем на все туже кнопку и получаем правила.
 

Внимание! в примере выше я просто выбрал любую категорию из магазина, для категорий донора. Просто что бы показать вам пример. Хоть это может выглядеть не логично :)

Спойлер

lEWlFSV.png


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

Этот скрипт написан просто что бы сократить ручное сопоставления для людей кто делает это постоянно.
Так же полагаться на него не стоить, честно не тестировал все дотошно, все тесты закончились на том что составляет правила и ок.

 

Нажмете сбросить и заново выберите нужный прайс.
Скрипт не использует БД, так что загрузили директорию spcats в директорию /admin/ поработали, и удалили директорию /spcats/
И все скрипт будет снесен.

Все кому нужно играйтесь, проект не коммерческий судьба его неизвестна.

Cам скрипт --> spcats-v0.3.zip

 

Этот скрип неспособен навредить вашему магазину, он читает информацию с базы но ничего туда не пишет, так что можно смело его загружать и жать на все кнопки без страха что то сломать.

  • +1 5
Ссылка на комментарий
Поделиться на других сайтах

подправил структуры категорий, если в имени категории есть кавычки.

Ссылка на комментарий
Поделиться на других сайтах

День добрый! Вопрос не про скрипт, но по этой теме.

Не пойму проблему. Предположим, скриптом получил сопоставление. http://prntscr.com/10u39u8

Скопировал в Правила замены. А Замена не срабатывает.  http://prntscr.com/10u36j5  

Телевизоры и видеотехника{csvnc}Телевизоры|Наши классные телевизоры{csvnc}В нашей нужной категории

Если в левой части правила одно значение, без разделителя - проблем нет. Но если с разделителем - не работает. А скрипт создает правила с разделителями. Как быть? Или я что-то не понимаю?

Через Редактор товаров могу разложить по категориям, конечно, но не вариант. Хочется через Замену

 

Изменено пользователем partshez
Ссылка на комментарий
Поделиться на других сайтах


2 минуты назад, partshez сказал:

День добрый! Вопрос не про скрипт, но по этой теме.

Не пойму проблему. Предположим, скриптом получил сопоставление. http://prntscr.com/10u39u8

Скопировал в Правила замены. А Замена не срабатывает.  http://prntscr.com/10u36j5  

Телевизоры и видеотехника{csvnc}Телевизоры|Наши классные телевизоры{csvnc}В нашей нужной категории

Если в левой части правила одно значение, без разделителя - проблем нет. Но если с разделителем - не работает. А скрипт создает правила с разделителями. Как быть? Или я что-то не понимаю?

 

Странно как вы дожили до этого момента не зная базовый функционал модуля. :(
 

А если посмотреть так ?
Неужели вы спустя два года до сих пор не знаете как работает поиск замена в модуле ?

Спойлер

3WDtMC1.png

 

Ссылка на комментарий
Поделиться на других сайтах

В повторяющихся границах парсинга правила применяются
К каждому повторению, к каждому по очереди все правила.

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

Ссылка на комментарий
Поделиться на других сайтах

В тот и дело, что я это понимаю. Не понимаю в работе скрипта. Т.е. можно использовать исключительно правила с одним значением в левой части, а не все созданные замены тупо копировать в Правила модуля? Все остальное в скрипте игнорировать? 

Подумал, что что-то изменилось...

Ссылка на комментарий
Поделиться на других сайтах


Только что, partshez сказал:

В тот и дело, что я это понимаю. Не понимаю в работе скрипта. Т.е. можно использовать исключительно правила с одним значением в левой части, а не все созданные замены тупо копировать в Правила модуля? Все остальное в скрипте игнорировать? 

Подумал, что что-то изменилось...

не понял а причем тут скрипт ?
Скрипт делает вам сопоставление и подгоняет вам правила поиск замены.

Скрипт не несет ответственности за то что вы не подготовили данные для поиск замены с левой стороны.
Подготовите будут работать.

Ссылка на комментарий
Поделиться на других сайтах

Скрипт сделал вам так.
Возьми банан поменяй на арбуз.

А вы вместо того что бы на вход подать банан подаете ему стул и говорите что не работают правила.
Чувствуете в чем проблема ?

Ссылка на комментарий
Поделиться на других сайтах

Вывод. Как и раньше, с левой стороны может быть только значение без разделителей. 

 

Ссылка на комментарий
Поделиться на других сайтах


15 минут назад, partshez сказал:

Вывод. Как и раньше, с левой стороны может быть только значение без разделителей. 

 

Вывод в корне не верный.
С левой стороны может быть все.

не хочу вас обидеть но вывод скорее будет таков.
Вы просто не знаете как работает поиск замена в модуле
 

Спойлер

6JIAFNE.png

И это странно.
Причина и следствие описано в этом ответе рассмотрите внимательно!!!!
https://opencart-forum.ru/topic/174967-sborka-kategoriy-skript-sopostavleniya-kategoriy-s-donorom/?do=findComment&comment=1709818

 

Ссылка на комментарий
Поделиться на других сайтах

Т.е. исходный текст нужно получить в простой Границе категорий. А потом уже обрабатывать в повторяющейся Категории. Так примерно?

Ссылка на комментарий
Поделиться на других сайтах


14 минут назад, partshez сказал:

Т.е. исходный текст нужно получить в простой Границе категорий. А потом уже обрабатывать в повторяющейся Категории. Так примерно?

Я просто не знаю что вам сказать. Меня в водит в ступор что вы этого не знаете.
Если вы разберетесь как работает поиск замена то у вас не будет таких вопросов.

Пробуйте как вам будет удобно.
Это тема про скрипт.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Как быть, если уже спарсил в файл и нужно заново для скрипта? Пока я единственный вариант, который понял, скачать готовый файл, отредактировать и загрузить обратно в uploads. Там просто 8000+ позиций и нельзя кешировать, есть шанс, что появятся новые товары или в старых цена поменяется

Изменено пользователем Nijest
Ссылка на комментарий
Поделиться на других сайтах


13 минут назад, Nijest сказал:

Как быть, если уже спарсил в файл и нужно заново для скрипта? Пока я единственный вариант, который понял, скачать готовый файл, отредактировать и загрузить обратно в uploads. Там просто 8000+ позиций и нельзя кешировать, есть шанс, что появятся новые товары или в старых цена поменяется

Ваш вариант вполне хороший.
Скачиваете прайс удаляете из него все колонки кроме категорий. Переименовывайте и загружаете обратно.
И дальше работаете через скрипт.

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

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Не видит почему то список CSV,  подскажите что делаю не так? создал папку uploads , сделал права 777, но всё равно ничего. Подскажите что делаю не так

image.png.e39c47d30fa3ce54c934d40ddc86be52.png

Ссылка на комментарий
Поделиться на других сайтах


4 часа назад, TeslaCo сказал:

Не видит почему то список CSV,  подскажите что делаю не так? создал папку uploads , сделал права 777, но всё равно ничего. Подскажите что делаю не так

image.png.e39c47d30fa3ce54c934d40ddc86be52.png

Здравствуйте.
А у вас там есть прайс лист который должен видеть скрипт ?

Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, TeslaCo сказал:

Как выбрать колонку с категориями в прайсе?

Там нет выбора колонок. Там сейчас учитываются все колонок прайса.
По этому прайс должен иметь только колонки категорий и больше ничего.

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Rassol2 сказал:

С горем пополам обновил скриншоты в этой ветке

:eek::eek::eek:

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Всем привет!
Кто разбирается в вопросе, можете помочь?
1)Нужно нового донора прикрепить при парсинге к категориям, которые уже присутствуют на сайте.
2)Желательно, если есть возможность, сделать тоже самое с атрибутами.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.