Хелп с регулярным выражением для генерации параметра в YML

R
На сайте с 25.06.2018
Offline
14
517

Всем привет!

Помогите поправить YML выгрузку с товарами для Яндекс.Маркета регулярным выражением

Маркет генерирует название вот так: <categoryId> + <vendor> + <model>, а проблема в том что в <model> уже содержаться и <categoryId> + <vendor>, поэтому получается на выходе:

Рюкзак + ПАПА + Рюкзак с рожками ПАПА чёрно-серый

В справочнике указывается о необходимости модификации <model> https://yadi.sk/i/5ZgPdbmhilT3MA

Есть возможность делать это регулярным выражением. Но как исключить от туда дубли <categoryId> и <vendor>?

Код в целом выглядит так

<offer type="vendor.model" available="true" id="111933962"> 
<url>
https://...
</url>
<price>00.0</price>
<currencyId>RUB</currencyId>
<categoryId>100000001577</categoryId>
<picture>
ХХХ
</picture>
<store>false</store>
<pickup>false</pickup>
<delivery>true</delivery>
<vendor>ПАПА</vendor>
<vendorCode>KA-2222-GR</vendorCode>
<model>
Рюкзак с рожками кожаный ПАПА 2222 чёрно-серый
</model>

<description>
xxx
</description>
<sales_notes>xxxx</sales_notes>
<manufacturer_warranty>true</manufacturer_warranty>
<param name="Боковой карман для бутылки воды / зонта">есть</param>
</offer>
Gerga
На сайте с 02.08.2015
Offline
89
#1

rangoz, скриптом XML генерируется? У вас есть возможность править этот скрипт?

R
На сайте с 25.06.2018
Offline
14
#2
Gerga:
rangoz, скриптом XML генерируется? У вас есть возможность править этот скрипт?

мне кажется что скрипт какой-то несомненно есть, править его точно не получится. Но в интерфейсе CMS (insales) имеется специальное поле для регулярного выражения: https://yadi.sk/i/E4EcTbRBWacRrw

S
На сайте с 30.09.2016
Offline
459
#3
rangoz:
мне кажется что скрипт какой-то несомненно есть

Надо, чтобы не казалось.

rangoz:
править его точно не получится
Надо, чтобы получилось.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
R
На сайте с 25.06.2018
Offline
14
#4

Sitealert, очень странная помощь. Если нечего написать по делу, то лучше бы промолчали.

Я же указал место где вводятся регулярные выражение, разве не очевидно что текущий скрипт предусматривает функционал?

Gerga
На сайте с 02.08.2015
Offline
89
#5

rangoz, этот инструмент не преднозначен для того, что вы хотите сделать.

S
На сайте с 30.09.2016
Offline
459
#6
rangoz:
Sitealert, очень странная помощь. Если нечего написать по делу, то лучше бы промолчали.

Странная она только для тех, кто думает, что мы тут мыслью сквозь пространство проникать могём. Я и написал по делу: ищите скрипт и правьте его. Или параметры ему задавайте, что опять же делается через скрипт. Лично я не знаю, что там наворочено.

R
На сайте с 25.06.2018
Offline
14
#7
Gerga:
rangoz, этот инструмент не преднозначен для того, что вы хотите сделать.

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

С другой стороны, не знаю этого "языка" и его возможностей (о регулярных выражениях).

Нужно всего два этапа по изменению начального значения.

Реализуемо в теории?

1) Первое слово нужно удалить в месте с пробелом после него

2) Производителя заменять на дефис "-"

Вариантов идентификации нужного фрагмента много, например:

-- искать точное соответствие по некоторому списку

-- отлавливать позицию слова в строчке

---искать слово начинающееся со строчной буквы

-- искать слово на английском

--...

Пример:

Рюкзак антивор повседневный для ноутбука 15,6 PAPA 2222 серо-чёрный
антивор повседневный для ноутбука 15,6 - 2222 серо-чёрный
R
На сайте с 25.06.2018
Offline
14
#8

Задача решена. Закрыли вопрос сторонним скриптом

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий