Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

SergeyProgr

Новачок
  
  • Публікації

    5
  • З нами

  • Відвідування

Усі публікації користувача SergeyProgr

  1. Чтобы получить такую запись: <param name="Размер" unit="RU">43</param> То если побыстрее, попроще: Есть файл, в последней версии модуля он по такому пути: catalog\model\extension\payment\yandex_money\YandexMarket.php Там примерно на 37 стр. такой код: elseif ($tag == 'param') { foreach ($val as $v) { $s .= '<param name="'.$this->prepare_field($v['name']).'">'.$this->prepare_field($v['value']).'</param>'; $s .= PHP_EOL; } Туда и добавить unit. При этом сделать проверку на имя Размер, и на нужную категорию. Ведь Размер может быть в других категориях, где не нужен unit. Здесь для категории 20, поставьте свою: elseif ($tag == 'param') { foreach ($val as $v) { if($this->prepare_field($v['name'])=='Размер' && $arr['categoryId']=='20') { $s .= '<param name="'.$this->prepare_field($v['name']).'" unit="RU">'.$this->prepare_field($v['value']).'</param>'; } else $s .= '<param name="'.$this->prepare_field($v['name']).'">'.$this->prepare_field($v['value']).'</param>'; $s .= PHP_EOL; } unit поставьте по правилам: https://yandex.ru/support/partnermarket/guides/clothes.html Правки не слетят, если модуль переустановить конечно слетят. Когда проверял, в yml выводятся только атрибуты. То есть атрибут Размер, значение 43 выведется, такие же опции нет. Модуль последней версии. Будет время посмотрю. Там в саму функцию function convert_array_to_tag($arr) которая в теги оборачивает параметры для товара уже не передаются опции. Дело не в настройках выводить опции, не влияют. Если как следует делать, то к опциям добавить еще поля. Туда и прописывать единицы (unit) и значение. А потом выводить в yml.
  2. Зачем вы это проверяете: elseif ($this->config->get('ya_market_set_available') == 3) { Это проверка на срок доставки в пункт самовывоза. Нужно именно для срока самовывоза? Вот есть код раньше: foreach ($products as $product) { if ($this->config->get('yandex_money_market_available') && $product['quantity'] < 1) { continue; } Надо тут менять. continue значит, что дальше не пойдет проверять, а возьмет новый товар до этого: elseif ($this->config->get('ya_market_set_available') == 3) { не дойдет
  3. Только разбирался с этим модулем. В новой версии нет папки feed, файлы немного другие. yamarket.php в контроллере разделен на два: YandexMarket.php сделан в модели и второй в контроллере. Есть предыдущая версия, там catalog/controller/feed/yamarket.php по пути catalog/controller/extension/yamarket.php Не важно, это тот же файл. Там такой код в этой строке: if ($this->config->get('ya_market_prostoy')) { $data['price'] = number_format($this->currency->convert($this->tax->calculate($data['price'], $product['tax_class_id'], $this->config->get('config_tax')), $shop_currency, $offers_currency), $decimal_place, '.', ''); ya_market_prostoy означает что включен в настройках упрощенный yml В инструкции https://kassa.yandex.ru/manuals/y.cms_opencart2.html#section6 сказано, что его нужно отключить. Отключите.
  4. А закомментировать строку пробовали? $data['price'] уже есть. Она только преобразуется под формат

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.