Дарим чек-лист по подготовке к сезону продаж за подписку на наш телеграм Получить
База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Как передать информации из плагинов в «Яндекс.Маркет PRO»

В плагин «Яндекс.Маркет PRO» можно передавать информацию из любых плагинов:

1. Для передачи данных о предоставляемых плагином значениях используется событие importexport_backend_field_value_source

Пример кода:

public function handleImportexportBackendFieldValueSource($params)
{
    $variable_meta = [
        'id' => 'variable_id',
        'name' => 'Имя значения',
    ];

    return [
        $variable_meta,
    ];
}

2. Для получения значения используется событие importexport_field_value_data_provider. Нужно вернуть экземпляр класса, у которого реализованы методы getSkuVariableValue и getAllSkuVariableValues

Пример кода: 

public function handleImportexportFieldValueDataProvider($params)
{
    return new PluginDataProvider();
}

class PluginDataProvider
{
    /**
     * @param $sku_id
     * @param $variable_id
     * @param array $extra_params
     * @return mixed
     */
    public function getSkuVariableValue($sku_id, $variable_id, array $extra_params)
    {
        return null; // нет значения

        /* или */

        return [
            'type' => 'simple',
            'value' => 'sku value',
        ];
    }

    /**
     * @param $sku_id
     * @param $variable_id
     * @param array $extra_params
     * @return array
     */
    public function getAllSkuVariableValues($sku_id, $variable_id, array $extra_params)
    {
        /* возвращает массив, формат каждого элемента такой же, как и в getSkuVariableValue */
    }
}

Поддерживаемые типы (ключ 'type'):

// 'simple', например
[
    'type' => 'simple',
    'value' => 'sku value',
]
//или можно вернуть просто строчку 'sku value'.

// 'count', например
[
    'type' => 'count',
    'count' => 18,
]

// 'feature_value', например
[
    'type' => 'feature_value',
    'feature_id' => 1,
    'feature_value_rows' => [
        ['id' => 2, 'value' => 'some value', ....],
    ],
]

// 'price', например
[
    'type' => 'price',
    'price' => 150.50,
    'currency_id' => 'RUB',
]
Инструкция была полезна?
77% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Как правильно обращаться в техподдержку?
Не работает решение, что делать?
Не применяются настройки плагина, почему?
Куда пропали лицензии?
Как интегрировать плагин в мою тему дизайна
Купил плагин, как активировать лицензию?
Как можно получить скидку?
Есть ли тестовый период за продукт
Слетела лицензия что делать?
Не могу настроить CRON, что делать?
Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой