Closed Mozgito closed 2 years ago
Здравствуйте,
В CRM предполагается что код атрибута содержит только латиницу, потому при использовании кириллицы могут возникнуть проблемы как на стороне модуля, так и на стороне самой CRM
Со стороны модуля можно либо транслитерировать код кириллицы в латиницу, либо посмотреть в сторону использования идентификатора атрибута вместо имени
Данный кейс сейчас прорабатывается, финальные доработки будут в новых версиях модуля
Добрый день, проведя анализ работы WordPress установили, что поле ярлык(slug) должно быть уникальным и написано на латинице, его длина не должна превышать 28 символов. Проведя анализ работы CRM установили, что при загрузке ICML-файла каталога, CRM принимает в значении поля code только символы a-Z0-9_
Было решено не производить доработки по данному вопросу, клиентам рекомендуется в поле ярлык(slug) добавлять значение на латинице.
Если у атрибута товара задать ярлык содержащий кириллицу, то при генерации каталога этот атрибут не попадет в массив
offer['params']
Как пример, создал атрибут кириллица с ярлыком кириллица, значение свойства в товаре указал русский текст.
Когда модуль получил атрибуты https://github.com/retailcrm/woocommerce-module/blob/6132172da592a19ee9c944f8b10b55447b32b03d/src/include/class-wc-retailcrm-icml.php#L82, то там информация была в таком виде
[pa_кириллица] => кириллица
После этого при создании офферов в методе
setOffer
в полеname
оказывается пустота https://github.com/retailcrm/woocommerce-module/blob/6132172da592a19ee9c944f8b10b55447b32b03d/src/include/class-wc-retailcrm-icml.php#L469Array ( [code] => pa_%d0%ba%d0%b8%d1%80%d0%b8%d0%bb%d0%bb%d0%b8%d1%86%d0%b0 [name] => [value] => русский текст )
потому что имя атрибута сначала выглядело как кириллица, а затем стало pa_%d0%ba%d0%b8%d1%80%d0%b8%d0%bb%d0%bb%d0%b8%d1%86%d0%b0Похоже что тут ломается кириллица в urlencode в имени атрибутов, когда имя запрашивается из бд wc-функцией https://github.com/retailcrm/woocommerce-module/blob/6132172da592a19ee9c944f8b10b55447b32b03d/src/include/class-wc-retailcrm-icml.php#L348