Журнал изменений

Virtuemart экспорт YML

Ver 3.53

Улучшения Новое
  1. Добавлен параметр "ID поля управления товарами": ID настраиваемого поля Virtuemart, которое будет использовано для управления включением товаров в прайс. Значениями поля может быть Да/Нет, 1/0, true/false, участвует/не участвует.
  2. Добавлена опция "CPA -> Исключить инверсно": исключить из выгрузки товары, у которых настраиваемое поле из п.1 (см.выше) содержит значение "Да".

    Способ применения. В обычном режиме выгрузить товары со значением поля = "Да". Затем можно что-то изменить в настройках выгрузки (например, сроки доставки) и включить опцию "Исключить инверсно" – теперь в прайс попадут те товары, которые были исключены в предыдущей выгрузке. В-общем, кому надо – поймёт ))

  3. Добавлен параметр "Срок доставки от количества на складе".

    Способ применения. Например, для количества на складе меньше 5 штук можно увеличить срок доставки с учётом времени поставки на склад. Если товара много, срок доставки 1-2 дня, если мало – 5-7 дней.

  4. Исправлен баг с ценой для товаров, в карточке которых цена не установлена.
  5. Параметр "Минимальный остаток" можно указать в ссылке генерации прайса [?|&]min_quantity=0. Задаёт минимальное количество товара на складе, чтобы включить этот товар в прайс. В данном примере в прайс попадут товары с остатком от нуля и больше.
    Наличие параметра "min_quantity" в ссылке принудительно устанавливает режим "Использовать склад => Да" независимо от его значения в параметрах плагина!
  6. Добавлен триггер для дополнительных плагинов "onBeforeDescription". Это позволит добавлять специфические XML-поля в секцию товара <offer> перед полем <description> для сохранения порядка следования полей в фиде.

Ver 3.52

Улучшения Новое
  1. Поправлен порядок вывода списка изображений товара в прайсе в соответствии с их порядком в карточке товара.
  2. Для настраиваемых полей типа "Текст" или "Область текста", в случае, если в тексте присутствует HTML разметка, включается формат поля CDATA, сохранящий эту разметку как есть. Но только если в параметрах выгрузки включена опция "Cохранить HTML-теги". Если опция выключена, разметка из текста будет удалена.
  3. Добавлена поддержка плагина "StockableCustomFields" для отображения в прайсе настраиваемых полей корзины как <param>.
  4. Можно заменить список категорий на другой? Теперь – можно! Смотрите описание ниже.

Замена в прайсе списка категорий Virtuemart на любой другой список

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

Сначала сохраните блок категорий <categories> из рабочего прайса в отдельный файл с расширением xml. Далее, его нужно заполнить так, как нужно сервису, с сохранением ID категорий: просто меняете названия категорий своего сайта на категории другого.

Первая строка файла - заголовок, описание формата, не потеряйте:

<?xml version="1.0" encoding="UTF-8"?>
<categories>
  <category id="2">Велотовары</category>
  <category id="3">Горные лыжи</category>
  <category id="4">Шапки</category>
  <category id="7">Спортивная одежда</category>
  <category id="8" parentId="7">Мужчины</category>
  <category id="9" parentId="7">Женщины</category>
  <category id="11">Товары для отдыха</category>
  <category id="12">Аксессуары</category>
</categories>

В имени файла тире не ставьте, лучше совсем без тире или подчёркивание. Расширение файла - xml

Когда будет готов файл с категориями, положите его в ту же папку, куда выгружается прайс. Выгрузка будет искать его там же.

Имя нового файла категорий можно указать в параметрах выгрузки - закладка "Дополнительные параметры" поле "Файл с категориями". Пишите только имя файла, а путь и расширение xml добавляются при обработке автоматически.

Чтобы запускать выгрузку с разными такими файлами-списками, можно добавить параметры в ссылку генерации прайса: ?categories_filename=catrozetka&export_filename=ymlrozetka

Пример ссылки:

https://домен/plugins/vm_ie_imaud/exportyml/exportyml.php?export_method=1&categories_filename=catrozetka&export_filename=ymlrozetka

В ссылке заданы следующие параметры: выгрузить прайс в файл, имя файла-списка категорий "catrozetka.xml", сохранить прайс с именем файла "ymlrozetka.xml"

Ver 3.51

Улучшения

Добавлены варианты вывода количества товара на складе:

  • отдельное поле <instock>,
  • param name="quantity"
  • атрибут в строке <offer id="" quantity="nnn">

Название поля/атрибута можно ввести любое необходимое. По-умолчанию это instock.

Учтите, это нестандартный элемент для Яндекс.Маркет!

Ver 3.50

Исправлено Новое

В качестве названия товара и описания товара для прайса теперь можно взять Мета информацию из карточки товара.
Это поля "Пользовательское название страницы", "Мета описание" в секции "Описание" карточки товара Virtuemart

Мета информация товара Virtuemart в прайс YML

Старая опция "Составное название товара" перешла в опцию "Название товара" как один из вариантов.

Если в настройках выгрузки выбрано "Meta Title", а в карточке товара это поле не заполнено, будет взято обычное название товара. Для схемы vendor.model название товара будет взято из "Meta Title", а название модели – из поля "Название товара".

Все варианты описания товара (краткое, полное, Мета описание) можно сочетать: всё, что включите в плагине, попадёт в прайс.

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

  2. Исправили баг в определении значений настраиваемых полей товара "Размер" и "Цвет" для варианта "Составное название".

Ver 3.49

Улучшения
  1. Доработана обработка настраиваемого поля тип "Multi variant"
  2. Исправлена неточность в определении unit из названия настраиваемого поля
  3. Добавлен параметр 'langsef' – выбор языка для прайса, если он должен отличаться от языка сайта по-умолчанию. Также доступен через параметры ссылки, например, [?|&]langsef=ru
  4. В манифест плагина добавлен сервер обновлений. Так как плагин платный и имеет ограниченный срок бесплатных обновлений, автоматически обновляться не будет, но будет показывать появление новой версии. Обновление высылаем по запросу на email, это будет указано в блоке информации по обновлению.
  5. Устранено предупреждение PHP сервера об отсутствии "$tmp_product->customfields", если настраиваемые поля в плагине полностью отключены.

Ver 3.48

Улучшения

Мы изменили логику опции "Группировать дочерние" на "Включить дочерние".

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

Если выключить – только простые товары и родительские (дочерние будут исключены).

Также этот параметр с именем group_child можно включить в ссылку, чтобы формировать два разных прайса – с дочерними для ЯндексМаркет и без дочерних для ЯндексДирект.

Пример ссылки:

  • .../exportyml.php?group_child=0 <— только простые товары и родительские
  • .../exportyml.php?group_child=1 <— включая дочерние с указанием группы (атрибут <offer group_id="xxx">)

Ver 3.47

Новое

Добавлено новое поле <condition> (состояние товара), и связанное с ним <reason> (причина уценки).

Например:

<condition type="likenew">
   <reason>Без упаковки</reason>
</condition>

Описание у Яндекса
https://yandex.ru/support/partnermarket/efficiency/cut-price.html

Значения настраиваемого поля "Состояние товара", которые плагин правильно определит и заменит на требуемое (likenew или used):

  • как новый
  • восстановленный
  • б/у
  • подержанный
  • был в употреблении

Ver 3.46

Новое
  1. Добавлена поддержка языковых констант Joomla в качестве названий настраиваемых полей Virtuemart.

  2. Пытаемся оптимизировать используемый плагином объём оперативной памяти сервера.

  3. Теперь можно формировать множество прайсов, если они должны отличаться категориями и/или производителями!

    Для этого в ссылку можно добавлять параметры*: ID категорий, ID производителей, URI метод экспорта** &export_method=0|1|2, имя файла &export_filename=newfilename

    .../exportyml.php?category=2,3,4&manufacturer=1,2&export_method=1&export_filename=newfilename

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

    ** Методы экспорта: 0 - динамический, 1 - в файл, 3 - оба.

    + Дополнено &group_child, см. Ver 3.48,

    + Дополнено &langsef, см. Ver 3.49,

Ver 3.45

Исправлено Новое
  1. Столкнулись с ошибкой загрузки нашего плагина "Export YML, Virtuemart (iMaud)" на версии Virtuemart 3.4.3

    #0 Joomla\CMS\Form\Form::getInstance() could not load file

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

    Сбой на загрузке конфигурации VM из файла
    /administrator/components/com_virtuemart/helpers/config.php
    VmConfig::loadConfig()
    при попытке загрузить плагины оплаты и доставки: vmpayment, vmshipment.

    Скрипт VM, который выполняет их загрузку, не находит xml-файлы указанных плагинов относительно текущей папки (а не от корня сайта, как это должно быть).

    В версии 3.45 мы внесли соответствующие изменения, чтобы обойти эту неприятность.

  2. Добавлен параметр "Исключить настраиваемые поля". Перечислите через запятую ID настраиваемых полей, которые не надо показывать в прайсе. Например, атрибуты корзины или поля, значения которых выводятся не корректно из-за применения сторонних плагинов настраиваемых полей.

Ver 3.44

Улучшения Новое
  1. Текст из поля "Примечание" в карточке товара (секция "Информация") теперь можно использовать как источник данных для тега <sales_notes>.

  2. Добавлена поддержка нового тега YML <pickup-options>условия самовывоза товара, в соответствии с описанием https://yandex.ru/support/partnermarket/elements/pickup-options.html

    Как и <delivery_options>, можно задать общее описание условий самовывоза для всего прайса (непосредственно в параметрах плагина), либо для любого товара отдельно через настраиваемые поля Virtuemart.

    Список связанных настраиваемых полей (нужно создать точно с таким названием):

    • pickup-options-cost
    • pickup-options-days
    • pickup-order-before

Ver 3.43

Улучшения Исправлено

Исправлен баг в определении страны из названия производителя или товара.

Чтобы автоматически определилась страна из названия, её нужно отделить от названия товара/бренда запятой. Например:

Xiaomi, Китай

Телевизор Phillips 43PP234, Малайзия

Добавьте в параметры плагина список стран, которые у вас используются, чтобы ускорить обработку. Если не перечислять страны, поиск страны будет выполняться по справочнику стран Virtuemart (это будет намного дольше).

Ver 3.42

Улучшения
  1. Добавлена функция корректировки внутренних ссылок в описании товара. Если в ссылке не указан домен сайта (относительные ссылки на другие внутренние страницы сайта или изображения) – он будет добавлен.

  2. Доработана логика формирования строки URL tracking в ссылке на страницу товара.

  3. Внутренняя оптимизация, подготовка к VM 3.4.3 (в новой версии VM замечены изменения в плане загрузки библиотек).

Ver 3.41

Новое

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

Ver 3.40

Исправлено Новое
  1. Добавлено определение срока доставки (delivery options days) для товара "под заказ".

  2. Добавлен гибридный метод формирования прайса "Динамически + Файл", когда прайс выводится по запросу в ссылке и также сохраняется как файл.

  3. Fixed bug in a 'customFieldsForAll' definition functions.

Ver 3.39

Улучшения Новое
  1. Добавлен тег <enable_auto_discounts> – разрешить Маркету показывать скидки

  2. Добавлено поле для указания единой категории Маркета. Если все товары прайса нужно отнести в общую категорию Маркета, укажите её в этом поле.

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

  4. При выборе источника описания товара доступна опция "Описание категории". Поможет, если у товаров нет никакого описания.

Ver 3.38

Новое

ВАЖНО! С этой версии добавлена поддержка собственных плагинов для выгрузки Export YML (iMaud)

Зачем? Чтобы иметь возможность внести изменения или дополнения в процессе формирования прайса без внесения изменений в основной плагин.

Благодаря этой подсистеме, через плагины можно вносить специфические для данного сайта изменения в прайсе и т.д. При этом основной пакет Export YML можно смело обновлять, не опасаясь потерять специфические модификации.

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

Теперь можно подключить дополнительный плагин "Блок Promo акции для выгрузки YML Virtuemart".

Ver 3.37

Новое

В ссылку товара можно добавить свою строку для аналитики: см. поле "UTM source"

Здесь можно написать всю строку UTM source, а также utm_medium.

Например, такая строка в этом поле:
YandexMarket&utm_medium=cpc в прайсе в конце ссылки товара будет выглядеть так
?utm_source=YandexMarket&utm_medium=cpc

Ver 3.36

Улучшения

Источником данных для штрихкода <barcode> становится поле EAN, если не выбрана опция <vendorCode> и не определено специальное настраиваемое поле товара.

Ver 3.35

Удалено

Прощай, <local_delivery_cost> !

Удалён как устаревший тег. Для описания доставки Яндекс полностью перешёл на <delivery-options>

Ver 3.34

Новое

Добавлена опция выбора значения для тега <barcode>
(один из стандартных идентификаторов в карточке товара или настраиваемое поле)