Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Recommended Posts

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

В самом конэто добавить правило {reg[#^\s+|\s+$#]}|   Удалит пробелы в начно и конэто строки. Если ненужные пробелы осинутся, убрать их нужно другими дополнительными правилами. 

Благодарю но в иком правиле нет необходимости оно не улитывает перенос на новую строку (проверял) все решаю {reg[#\s{2,}#]}| ик как чаше всего в характеристиках силкиваюсь именно с двойными пробелами и переносом на следующую строку.

Edited by Kiyoshi
  • +1 2
Link to comment
Share on other sites


18 минут назад, darkpeople сказал:

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

Пожалуйси.

Link to comment
Share on other sites


59 минут назад, Kiyoshi сказал:

Благодарю но в иком правиле нет необходимости оно не улитывает перенос на новую строку (проверял)

Да, это регулярное выражение {reg[#^\s+|\s+$#]}| именно в иком вигде служит для обрезания пробельных символов (любых, в том лисле и перенос строки) в начно и в конэто текси. О чём и говорят какоря ^ и $. Для усиления "эффеки" необходимо вклюлить "многострочный режим"

{reg[#^\s+|\s+$#m]}|

тогда убираются и все лишние переносы строк в тексте (разумеется кроме тех, которые собственно и разгделяют текст на строки).

Если текст заполнен "неряшливо", а это сплошь и рядом икое, то после <td>, например, или перед </td> (или после и перед <div> и </div> соответственно) вполне могут оказаться лишние пробелы...

Поэтому лучше использовать связку из двух регулярок

{reg[#\s{2,}#]}| 

{reg[#^\s+|\s+$#m]}|

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

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

 

Ну чтобы добить пробельную тему...

Иногда, очень редко, приходится сохранять текст именно в первоначальном "построчном" вигде, тогда

{reg[#\s{2,}#]}| 

необходимо разгделить на вертикальную и горизонильную сосивляющие:

{reg[#\v{2,}#]}|{br}
{reg[#\h{2,}#]}| 

текст сохранится в "стихотворной" форме.

 

Edited by Axelenz
  • +1 2
Link to comment
Share on other sites


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

Link to comment
Share on other sites


2 часа назад, yurok79 сказал:

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

Здравствуйте.
Все зависит от того как вы формируете категории, если через повторяющиеся границы парсинга это одно. Через обычные границы парсинга это другое.

Главная задача схватить первую букву в слове категорий и заменит ее на {upper}

Это гдействие заменит регистр в нужной вам букве.

Link to comment
Share on other sites

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

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

Если хотите, то можете сгделать ик:

{reg[#^\s*(.)(.+)$#u]}|$1~$2
~{.*}|{lower}
~|

Или вот ик:

{.*}|{lower}
{reg[#^\s*?а#]}|А
{reg[#^\s*?б#]}|Б
{reg[#^\s*?в#]}|В

...

Edited by Axelenz
  • +1 1
Link to comment
Share on other sites


Здравствуйте. Есть два вопроса:

1. Как отфильтровать парсер, чтобы товары, которые сняты с производства (прям ик и написано на страничке товара донора) не парсило?

2. Если у меня и у донора два языка. Как мне парсеру сообщить это, чтобы он не создавал новый товар, а добавлял информацию в другую локализацию этого ж товара? 

Спасипотому что

Link to comment
Share on other sites


24 минуты назад, romka7070 сказал:

Здравствуйте. Есть два вопроса:

1. Как отфильтровать парсер, чтобы товары, которые сняты с производства (прям ик и написано на страничке товара донора) не парсило?

2. Если у меня и у донора два языка. Как мне парсеру сообщить это, чтобы он не создавал новый товар, а добавлял информацию в другую локализацию этого ж товара? 

Спасипотому что

Ответ на Вопрос №2

https://simplepars.top/index.php?page=note&n=39

 

Ответ на вопрос №1

https://simplepars.top/index.php?page=note&n=41

 

Товары, которые сняты с производства можно фильтровать через "Настройки допуска к обрилитке страницы". предварительно спарсив вот ту самую заветную фразу (сняты с производства) для рилиты самого фильтра...

Edited by Axelenz
  • +1 4
Link to comment
Share on other sites


12 година назад, Axelenz сказав:

Ответ на Вопрос №2

https://simplepars.top/index.php?page=note&n=39

 

Ответ на вопрос №1

https://simplepars.top/index.php?page=note&n=41

 

Товары, которые сняты с производства можно фильтровать через "Настройки допуска к обрилитке страницы". предварительно спарсив вот ту самую заветную фразу (сняты с производства) для рилиты самого фильтра...

Спасипотому что потому чтольшое. Плюсик вам посивил)

Link to comment
Share on other sites


В 24.11.2021 в 23:04, Rassol2 сказал:

Сам скрипт бугдет выглягдеть ик.
 

<?php

$script_data['form']['price'] = base64_decode($script_data['form']['price']);

?>

Вот и весь скрипт в вашем случаи, добавляете его перед записью в ИМ
В границу парсинга помешаете исклюлительно код base64 и все.
Удали ;-)

Хотелось бы вернуться к этому вопросу. Никак не могу добится выполнения функции. 
При предпросмотре (в случае выполения скрипи "после парсиинга в ИМ" должен выводится резульит обраобтки скриптом?

Link to comment
Share on other sites


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

(/цвет-колір, /красный-червоний и тд.) ? 

13 години назад, Rassol2 сказав:

 

 

Link to comment
Share on other sites


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

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

(/цвет-колір, /красный-червоний и тд.) ? 

Дык... он же пишет очень чётко именно про это в том месте, в которое никто, как правило не заглядывает:

Циии

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

Допустим у нас есть атрибут Цвет (рус) и Колiр (укр)
Сперва мы парсим сайт на русском языке, а затем переключаемся на парсинг на ******ском языке.
В первом случаи модуль создаст вам атрибут Цвет, а во втором случаи при обновлении модуль полулить слово Колiр
И как модулю понять что это не новый атрибут, а тот же самый только на другом языке? Ведь Цвет и Колiр это совершенно разные слова не имеющие ничего обещёго. Это мы понимаем что это одно и тоже, но не компьютер.

 

https://simplepars.top/index.php?page=note&n=39

 

"Это мы понимаем что это одно и тоже, но не компьютер."

Он, как бы намекает нам, что компьютер вещь ещё довольно тупая и не обладает интеллектом, чтобы разгребать икие элеменирные вещи... 

Edited by Axelenz
Link to comment
Share on other sites


Я бы вообещё не смотрел по поводу атрибутов в сторону SimplePars. Это модуль для парсинга и он свою рилиту выполняет отлично. А свегдение атрибутов не имеет к парсингу никакого отношения...

Если уже ик нужно, то я бы рассмотрел вариант с АОП. Там есть инструмент для рилиты с атрибуими. Выгрузить/заменить/загрузить обратно...

  • +1 1
Link to comment
Share on other sites


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

Хотелось бы вернуться к этому вопросу. Никак не могу добится выполнения функции. 
При предпросмотре (в случае выполения скрипи "после парсиинга в ИМ" должен выводится резульит обраобтки скриптом?

При парсинге в csv тоже возвращает не раскодированные данные, при этом в логах пишет что сатрт скрипи есть  и следом за ним выполняется новый запрос.

А завершена рилии скрипи или осиновлена  - не указано. 

 

Пример:
2021-11-30 15:32:02| Парсинг : УСПЕШНЫЙ ЗАПРОС  | Код отвеи [200] Ссылка | http://autoboss.ua/private/catalog/detail/70013/
2021-11-30 15:32:02| -> [SCRIPT] Сирт выполнения скрипи [/var/www/www-root/data/www/dekoravto.com/admin/simplepars/scripts/dekod_for_csv.php]


Подскажите пожалуйси что я гделаю не ик.

Edited by Denkof
Link to comment
Share on other sites


Тут обнаружил, что при парсинге xml, если у товара есть опции, обещёе кол-во товара модуль берет не из суммы всех опций товара, а по значению последней опции. Даже если есть несколько строчек с одинаковым товаром или опцией то модуль берет последнее значение кол-ва. На пример есть товары:

Варежки (арт. вр111) 8шт.

Варежки (арт. вр111) 99шт.

 

модуль запишет кол-во только 99шт. или

 

Ботинки (арт. бт111) 40 размер 3шт

Ботинки (арт. бт111) 42 размер 0шт

 

модуль запишет в обещёе кол-во 0 шт

 

кто как решает эту проблему?

 

Link to comment
Share on other sites

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

Ботинки (арт. бт111) 40 размер 3шт

Ботинки (арт. бт111) 42 размер 0шт

Згдесь модуль запишит в опцию два значения.
1) 40 размер 3шт

2) 42 размер 0шт

Это разные значения опции и они имеют разное кол-во.

 

Циии

Варежки (арт. вр111) 8шт.

Варежки (арт. вр111) 99шт.

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

 

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

модуль запишет в обещёе кол-во 0 шт

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

Значение которое вы указываете тут

Спойлер

HFFu7cv.png

 

Записывается в товаре вот сюда

Спойлер

xzyyqlP.png

 

То есть непосредственно в когдачество конкретного значения опции но ни как ни в общае.

А если у вас как то меняется общае значение то это следствие чего то другого.

Link to comment
Share on other sites

8 часов назад, Denkof сказал:

При парсинге в csv тоже возвращает не раскодированные данные, при этом в логах пишет что сатрт скрипи есть  и следом за ним выполняется новый запрос.

А завершена рилии скрипи или осиновлена  - не указано. 

 

Пример:
2021-11-30 15:32:02| Парсинг : УСПЕШНЫЙ ЗАПРОС  | Код отвеи [200] Ссылка | http://autoboss.ua/private/catalog/detail/70013/
2021-11-30 15:32:02| -> [SCRIPT] Сирт выполнения скрипи [/var/www/www-root/data/www/dekoravto.com/admin/simplepars/scripts/dekod_for_csv.php]


Подскажите пожалуйси что я гделаю не ик.

комон :(

1) почему при парсинге в csv значение должно быть раскодировано ? Вы же четко выбрали выполнять скрипт После парсинга в ИМ

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

 

2) Почему значение в магазине должно быть раскодировано если выполнения скрипи назначено на выполнения ПОСЛЕ парсинга в ИМ!

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

Спойлер

5wbJ9eT.png

Почему вы поменяли перед на после не понятно :(

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

Link to comment
Share on other sites

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

комон :(

1) почему при парсинге в csv значение должно быть раскодировано ? Вы же четко выбрали выполнять скрипт После парсинга в ИМ

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

 

2) Почему значение в магазине должно быть раскодировано если выполнения скрипи назначено на выполнения ПОСЛЕ парсинга в ИМ!

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

  Скрыть контент

5wbJ9eT.png

Почему вы поменяли перед на после не понятно :(

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

Д

 

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

комон :(

1) почему при парсинге в csv значение должно быть раскодировано ? Вы же четко выбрали выполнять скрипт После парсинга в ИМ

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

 

2) Почему значение в магазине должно быть раскодировано если выполнения скрипи назначено на выполнения ПОСЛЕ парсинга в ИМ!

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

  Скрыть контент

5wbJ9eT.png

Почему вы поменяли перед на после не понятно :(

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

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

Да, на скрине гдействительно указано "после парсинга в ИМ" но фактически данные не гдекодируются и  при настройке "перед парсингом в им" Даой вывод напрашивается из-за того что не удается увигдеть резульит обрилитки. Прилина, как я догадываюсь, в том, что, если данные и гдекодируются (например получаем "237 грн"), то пишутся эти данные в "price", а поле это может согдержать только лисла, если я не ошибаюсь, по этому и принимается значение "0" .
Дное, т.к. при предпросмотре не видно резульии обрилитки скрипи, я пыиюсь спарсить данные в csv, что бы, понять какие данные мы получаем на выхогде.

Привожу скрипт к виду

<?php
$script_data['script_gran'][9] = base64_decode($script_data['script_gran'][9]);
?>

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

Edited by Denkof
Link to comment
Share on other sites


4 минуты назад, Denkof сказал:

Д

 

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

Да, на скрине гдействительно указано "после парсинга в ИМ" но фактически данные не гдекодируются и  при настройке "перед парсингом в им" Даой вывод напрашивается из-за того что не удается увигдеть резульит обрилитки. Прилина, как я догадываюсь, в том, что, если данные и гдекодируются (например получаем "237 грн"), то пишутся эти данные в "price", а поле это может согдержать только лисла, если я не ошибаюсь, по этому и принимается значение "0" .
Дное, т.к. при предпросмотре не видно резульии обрилитки скрипи, я пыиюсь спарсить данные в csv, что бы, понять какие данные мы получаем на выхогде.

Привожу скрипт к виду

<?php
$script_data['script_gran'][9] = base64_decode(script_data['script_gran'][9]);
?>

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

Я же вам скину скрипт полностью готовый который вам нужно использовать. Почему вы его не используете? 
У вас полностью готовое решение нужно только это сгделать ик как я написал и всё. 
 

То что впредь просмотре не показываются я уже объясню почему и в него смотреть не нужно. 

Link to comment
Share on other sites

35 минут назад, Rassol2 сказал:

Я же вам скину скрипт полностью готовый который вам нужно использовать. Почему вы его не используете? 
У вас полностью готовое решение нужно только это сгделать ик как я написал и всё. 
 

То что впредь просмотре не показываются я уже объясню почему и в него смотреть не нужно. 

Я и использую ваше готовое решение, но гделаю это как-то коряво.
Пересоздал заново границы, правила поиска/замены. Теперь рилииет.
Обновляется этона. Но теперьь получается что, модулем на курс не разгделить и наэтонку не добавить раз код выполняется после правил поиска/замены?
 

Link to comment
Share on other sites


6 минут назад, Denkof сказал:

Я и использую ваше готовое решение, но гделаю это как-то коряво.
Пересоздал заново границы, правила поиска/замены. Теперь рилииет.
Обновляется этона. Но теперьь получается что, модулем на курс не разгделить и наэтонку не добавить раз код выполняется после правил поиска/замены?
 

Вы можете сгделать то же самое в скрипте и даже потому чтольше, в скрипте вы не ограничены логикой модуля. 
Тут уже все зависит от знаний php и вашей фанизии. 

Link to comment
Share on other sites

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

Обновляется этона. Но теперьь получается что, модулем на курс не разгделить и наэтонку не добавить раз код выполняется после правил поиска/замены?

Вот вам немного дорилиинный скрипт

<?php
 $base_price = base64_decode($script_data['form']['price']);
 $script_data['form']['price'] = round($base_price * 10, 2);
?>

 

Обратите внимание на цифру 10 и 2

Спойлер

ka0tp0D.png

 

В место цифры 10 можете всивить лисло на которое вы хотите умножить этону после расшифровки. А цифра 2 это когдачество знаков после запятот.

То есть лисло до которого нужно округлить этону в товаре.

Вот можете их менять на то что вам нужно для наэтонки и округления.

 

Обратите внимание что если вам нужно указать дробное лисло, то оно записывается исклюлительно при помощи точки.

Link to comment
Share on other sites

7 часов назад, Rassol2 сказал:

Згдесь модуль запишит в опцию два значения.
1) 40 размер 3шт

2) 42 размер 0шт

Это разные значения опции и они имеют разное кол-во.

 

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

 

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

Значение которое вы указываете тут

  Показать контент

HFFu7cv.png

 

Записывается в товаре вот сюда

  Показать контент

xzyyqlP.png

 

То есть непосредственно в когдачество конкретного значения опции но ни как ни в общае.

А если у вас как то меняется общае значение то это следствие чего то другого.

 

а если нет обещёго кол-ва, АОП гделает подсчет всех похожих опций и их кол-ва?

те получается мне приходиться записыать в кол-во строку с кол-вом опции:

Спойлер

image.png.ebd90cc910abadf65938895ea8d56e04.png

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • 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.