shopProduct

Класс используется для работы с одним товаром: позволяет получать информацию о товаре, модифицировать и сохранять товар в базу данных без явного обращения к классам моделей.

Array access

Работа с классом возможна путём обращения к объекту как к массиву (array access). При первом чтении данных выполняется обращение к базе данных и их загрузка в кеш. Последующее чтение извлекает данные из кеша.

Array access работает и при чтении, и при записи данных. При записи в объект данные сохраняются во внутреннем кеше, а в базу данных попадают только после вызова метода save().

Пример

$product = new shopProduct(100500);
echo $product['name'];
$product['name'] = 'Супертовар';
$product->save();

Доступные поля

// Поля таблицы 'shop_product', доступные для чтения и для записи.
int      $product['id']
string   $product['name']
string   $product['summary']
string   $product['meta_title']
string   $product['meta_keywords']
string   $product['meta_description']
string   $product['description']
int      $product['contact_id']
string   $product['create_datetime']
string   $product['edit_datetime']
int      $product['status']
int      $product['type_id']
int      $product['image_id']
string   $product['image_filename']
string   $product['video_url']
int      $product['sku_id']
string   $product['url']
string   $product['currency']
int      $product['tax_id']
int      $product['count_denominator']
float    $product['order_multiplicity_factor']
int      $product['stock_unit_id']
int      $product['base_unit_id']
float    $product['stock_base_ratio']
float    $product['order_count_min']
float    $product['order_count_step']
float    $product['base_price']
float    $product['min_base_price']
float    $product['max_base_price']
int      $product['cross_selling']
int      $product['upselling']
int      $product['category_id']
string   $product['badge']
int      $product['sku_type']
float    $product['base_price_selectable']
float    $product['compare_price_selectable']
float    $product['purchase_price_selectable']

// Поля таблицы 'shop_product', доступные только для чтения, потому что значения для них рассчитываются автоматически.
float       $product['price']
float       $product['compare_price']
float       $product['min_price']
float       $product['max_price']
string      $product['ext']
float       $product['rating']
int         $product['rating_count']
float|null  $product['count']
float|null  $product['total_sales']
int         $product['sku_count']

// Поля объекта, доступные для чтения и для записи.
// Более подробную информацию см. в описаниях методов getData() и setData() соответствующего класса модели.
array   $product['params']                // shopProductParamsModel
array   $product['skus']                  // shopProductSkusModel
array   $product['sets']                  // shopProductSetsModel
array   $product['tags']                  // shopProductTagsModel
array   $product['features']              // shopProductFeaturesModel
array   $product['features_selectable']   // shopProductFeaturesSelectableModel
array   $product['categories']            // shopProductCategoriesModel
array   $product['og']                    // shopProductOgModel

// Поля объекта, доступные только для чтения.
// Более подробную информацию см. в описании соответствующего метода.
array       $product['type']            // getType()
string      $product['currency_html']   // getCurrencyHtml()
waContact   $product['contact']         // getContact()
array       $product['images']          // getImages()
array       $product['pages']           // getPages()
array       $product['next_forecast']   // getNextForecast()
array       $product['reviews']         // getReviews()
array       $product['sku_features']    // getSkuFeatures()

Публичные методы

  • __construct

    Конструктор класса.

  • isFrontend

    Возвращает значение параметра $is_frontend, переданного в конструктор класса.

  • getId

    Возвращает значение поля id.

  • getImages

    Возвращает список изображений товара.

  • getPages

    Возвращает список подстраниц товара.

  • getContact

    Возвращает экземпляр класса waContact с информацией о пользователе, создавшем товар.

  • getCurrencyHtml

    Возвращает HTML-код для обозначения символа валюты товара.

  • save

    Сохраняет изменения в свойствах товара в базу данных.

  • getData

    Возвращает данные из внутреннего кеша класса без обращения к базе данных.

  • setData

    Записывает значение указанного поля во внутренний кеш класса.

  • getType

    Возвращает информацию о типе товара.

  • upSelling

    Возвращает список товаров, настроенных как схожие и альтернативные для данного товара.

  • crossSelling

    Возвращает список товаров, настроенных как перекрёстные продажи для данного товара.

  • getNextForecast

    Возвращает информацию о продажах товара за последние 90 дней и оценку продаж на будущее.

  • getReviews

    Возвращает список отзывов покупателей о товаре.

  • getSkuFeatures

    Возвращает информацию о значениях характеристик, указанных в свойствах модификаций товара.

  • checkRights

    Возвращает информацию о правах доступа авторизованного пользователя к редактированию данного товара.

  • duplicate

    Создаёт копию товара.

  • getProductUrl

    Возвращает URL страницы товара на витрине.

  • getCanonicalCategory

    Возвращает данные основной категории товара.

  • getCategoryUrl

    Возвращает основной фрагмент URL основной категории товара.

  • getBreadcrumbs

    Возвращает массив данных для формирования ссылок навигации с помощью «хлебных крошек» относительно страницы товара на витрине.

  • getVideo

    Возвращает информацию о видеоролике товара.

  • getSkus

    Возвращает информацию о модификациях товара.

  • getFeatures

    Возвращает информацию о характеристиках товара.

public function __construct ($data = array(), $is_frontend = false)

Конструктор класса.

Параметры

  • $data

    Либо ID товара, либо массив с данными товара, ключи которого соответствуют полям таблицы shop_product.

  • $is_frontend

    Флаг, обозначающий режим использования экземпляра класса контроллерами фронтенда. В режиме фронтенда выполняется округление всех цен, возвращаемых этим классом, если округление настроено для валюты, выбранной текущим авторизованным пользователем. Значения полей в режиме фронтенда доступны только для чтения.

Пример

$product = new shopProduct(100500);
echo $product['name'];

public function isFrontend()

Возвращает значение параметра $is_frontend, переданного в конструктор класса.

Пример

$product = new shopProduct(100500, true);

if ($product->isFrontend()) {
    echo 'Объект товара — в режиме фронтенда!';
}

public function getId()

Возвращает значение поля id. Эквивалентно считыванию поля id.

Пример

$product = new shopProduct(100500);
echo $product->getId(); //100500
echo $product['id']; //100500

public function getImages ($sizes = array(), $absolute = false)

Возвращает список изображений товара. Ключи массива — ID изображений, каждое значение массива — подмассив с информацией об изображении.

Параметры

  • $sizes

    Размеры изображений, URL которых должны содержаться в возвращаемом массиве, в одном из следующих форматов:

    • Ассоциативный массив key => size. В подмассив информации о каждом изображении добавляются элементы с ключами вида 'url_...' с каждым key вместо многоточия, значениями которых являются URL эскизов изображения с размерами, указанными в каждом size в одном из следующих форматов:
      • ...x... (например, '96x96'): прямоугольник с указанной шириной и высотой, уменьшенный с сохранением пропорций до одного из указанных размеров, с отсечением части изображения, не вписавшейся в полученный уменьшенный прямоугольник;
      • ...x0 (например, '96x0'): прямоугольник, уменьшенный с сохранением пропорций до указанной ширины;
      • 0x... (например, '0x96'): прямоугольник, уменьшенный с сохранением пропорций до указанной высоты;
      • ... (например, '96'): прямоугольник, уменьшенный с сохранением пропорций до указанной максимальной стороны.
    • Простой массив строковых обозначений размеров 'big' ('970'), 'default' ('750x0'), 'default_fit' ('750'), 'thumb' ('200x0'), 'crop' ('96x96'), 'crop_small' ('48x48') или только одно из этих значений — без использования массива.
    • Массив чисел, обозначающих уменьшение эскизов изображений до максимальной стороны, или только 1 число — без использования массива.
  • $absolute

    Флаг, обозначающий необходимость вернуть абсолютные URL эскизов изображений.

Пример

$product = new shopProduct(100500);
$images = $product->getImages([
    'main' => '700x0',
    'aux' => '200',
]);
wa_dump($images);

Результат

[
    1 => [
      'id' => '1',
      'product_id' => '100500',
      'upload_datetime' => '2000-01-01 00:00:00',
      'edit_datetime' => NULL,
      'description' => '',
      'sort' => '0',
      'width' => '1500',
      'height' => '2000',
      'size' => '1000000',
      'filename' => '',
      'original_filename' => '01.png',
      'ext' => 'png',
      'badge_type' => NULL,
      'badge_code' => NULL,
      'edit_datetime_ts' => NULL,
      'url_main' => '/wa-data/public/shop/products/00/05/100500/images/1/1.700x0.png',
      'url_aux' => '/wa-data/public/shop/products/00/05/100500/images/1/1.200.png',
    ],
    ...,
]

Пример

$product = new shopProduct(100500);
  $images = $product->getImages('big');
  wa_dump($images);

Результат

[
    1 => [
    'id' => '1',
    'product_id' => '100500',
    'upload_datetime' => '2000-01-01 00:00:00',
    'edit_datetime' => NULL,
    'description' => '',
    'sort' => '0',
    'width' => '1500',
    'height' => '2000',
    'size' => '1000000',
    'filename' => '',
    'original_filename' => '01.png',
    'ext' => 'png',
    'badge_type' => NULL,
    'badge_code' => NULL,
    'edit_datetime_ts' => NULL,
    'url_big' => '/wa-data/public/shop/products/00/05/100500/images/1/1.970.png',
    ],
    ...,
]

Пример

$product = new shopProduct(100500);
    $images = $product->getImages('big');
    wa_dump($images);

Результат

[
    1 => [
        'id' => '1',
        'product_id' => '100500',
        'upload_datetime' => '2000-01-01 00:00:00',
        'edit_datetime' => NULL,
        'description' => '',
        'sort' => '0',
        'width' => '1500',
        'height' => '2000',
        'size' => '1000000',
        'filename' => '',
        'original_filename' => '01.png',
        'ext' => 'png',
        'badge_type' => NULL,
        'badge_code' => NULL,
        'edit_datetime_ts' => NULL,
        'url_big' => '/wa-data/public/shop/products/00/05/100500/images/1/1.970.png',
    ],
    ...,
]

Пример

$product = new shopProduct(100500);
      $images = $product->getImages(500);
      wa_dump($images);

Результат

[
    1 => [
        'id' => '1',
        'product_id' => '100500',
        'upload_datetime' => '2000-01-01 00:00:00',
        'edit_datetime' => NULL,
        'description' => '',
        'sort' => '0',
        'width' => '1500',
        'height' => '2000',
        'size' => '1000000',
        'filename' => '',
        'original_filename' => '01.png',
        'ext' => 'png',
        'badge_type' => NULL,
        'badge_code' => NULL,
        'edit_datetime_ts' => NULL,
        'url_500' => '/wa-data/public/shop/products/00/05/100500/images/1/1.500.png',
    ],
    ...,
]

public function getPages()

Возвращает список подстраниц товара. Вызов эквивалентен чтению поля pages. Каждый элемент возвращаемого массива является подмассивом, содержащим значения полей таблицы shop_product_pages.

Пример

$product = new shopProduct(100500);
$pages = $product->getPages();
wa_dump($pages);

Результат

[
    1 => [
        'id' => '1',
        'product_id' => '100500',
        'name' => 'О товаре',
        'title' => 'О товаре',
        'url' => 'info',
        'content' => '<p>...</p>',
        'create_datetime' => '2000-01-01 00:00:00',
        'update_datetime' => '2000-01-01 00:00:00',
        'create_contact_id' => '1',
        'sort' => '0',
        'status' => '1',
        'keywords' => '',
        'description' => '',
    ],
    ...,
]

public function getContact()

Возвращает экземпляр класса waContact с информацией о пользователе, создавшем товар. Вызов эквивалентен чтению поля contact.

Пример

$product = new shopProduct(100500);
echo $product->getContact()->getName(); // 'Иван Петров'

public function getCurrencyHtml()

Возвращает HTML-код для обозначения символа валюты товара. Вызов эквивалентен чтению поля currency_html.

Пример

$product = new shopProduct(100500);
echo $product->getCurrencyHtml(); // '<span class="ruble">₽</span>'

public function save ($data = [])

Сохраняет в базу данных изменения, внесённые в свойства экземпляра класса с использованием array access либо также переданные в параметре $data.

Параметры

  • $data

    Массив вида key => value со значениями полей таблицы shop_product. Использование этого параметра эквивалентно записи каждого значения по отдельности в поля экземпляра класса с последующим вызовом этого метода без параметра.

Пример

$product = new shopProduct();

// либо сразу передаём все значения в виде параметра-массива в метод save()
$product->save([
    'name' => 'Супертовар',
    'url' => 'superproduct',
]);

// либо сначала записываем каждое свойство по отдельности и затем вызываем метод save() без параметра
$product['name'] = 'Супертовар';
$product['url'] = 'superproduct';
$product->save();

public function getData ($name = null)

Возвращает данные из внутреннего кеша класса без обращения к базе данных. Если данных в кеше нет, метод возвращает null. Если данные в кеше есть, то вызов метода эквивалентен чтению поля экземпляра класса.

Параметры

  • $name

    Поле экземпляра класса, значение которого нужно получить. Если название поля не указано, то метод возвращает всё содержимое кеша класса.

Пример

$product = new shopProduct();
$product['name'] = 'Супертовар';
$product['url'] = 'superproduct';
echo $product->getData('name'); //'Супертовар'
echo $product->getData('url'); //'superproduct'

public function setData ($name, $value)

Записывает значение указанного поля во внутренний кеш класса. Эквивалентно записи значения в экземпляр класса с использованием array access.

Пример

$product = new shopProduct();
$product->setData('name', 'Супертовар');
// то же самое, но с использованием array access
$product['name'] = 'Супертовар';

public function getType()

Возвращает информацию о типе товара в виде массива данных из таблицы shop_type. Вызов эквивалентен чтению поля type.

Пример

$product = new shopProduct(100500);
$type = $product->getType();
wa_dump($type);

Результат

[
    'id' => '1',
    'sort' => '0',
    'name' => 'Обычный товар',
    'icon' => 'box',
    'cross_selling' => 'alsobought',
    'upselling' => '0',
    'count' => '3149',
    'stock_unit_fixed' => '2',
    'stock_unit_id' => '0',
    'base_unit_fixed' => '2',
    'base_unit_id' => NULL,
    'stock_base_ratio_fixed' => '2',
    'stock_base_ratio' => '1.00000000',
    'count_denominator_fixed' => '2',
    'count_denominator' => NULL,
    'order_multiplicity_factor_fixed' => '2',
    'order_multiplicity_factor' => NULL,
    'order_count_min_fixed' => '2',
    'order_count_min' => NULL,
    'order_count_step_fixed' => '2',
    'order_count_step' => NULL,
  ]

public function upSelling ($limit = 5, $available_only = false)

Возвращает список товаров, настроенных как схожие и альтернативные для данного товара.

Параметры

  • $limit

    Максимальное количество возвращаемых рекомендуемых товаров.

  • $available_only

    Флаг, обозначающий необходимость возвращать только рекомендуемые товары, имеющиеся на складе и доступные для заказа.

Пример

$product = new shopProduct(100500);
$upselling_products = $product->upSelling(3);
wa_dump($upselling_products);

Результат

[
    26521 => [
        id => '26521'
        name => 'Боинг 747'
        summary => '...'
        ...
    ],
    26522 => [
        id => '26522'
        name => 'Боинг 767'
        summary => '...'
        ...
    ],
    ...,
]

public function crossSelling ($limit = 5, $available_only = false, $exclude = array())

Возвращает список товаров, настроенных как перекрёстные продажи для данного товара.

Параметры

  • $limit

    Максимальное количество возвращаемых рекомендуемых товаров.

  • $available_only

    Флаг, обозначающий необходимость возвращать только рекомендуемые товары, имеющиеся на складе и доступные для заказа.

  • $exclude

    Массив ID товаров, которые нужно исключить из возвращаемого массива.

Пример

$product = new shopProduct(100500);
$cross_selling_products = $product->crossSelling(3);
wa_dump($cross_selling_products);

Результат

[
  26468 => [
    id => '26468'
    name => 'Изделия из ротанга'
    summary => 'Шары, звезды, сердца, месяцы'
    ...
  ],
  26469 => [
    id => '26469'
    name => '...'
    summary => '...'
    ...
  ],
  ...,
]

public function getNextForecast()

Возвращает информацию о продажах товара за последние 90 дней и оценку продаж на будущее. Эквивалентно чтению поля next_forecast.

Пример

$product = new shopProduct(100500);
$forecast = $product->getNextForecast();
wa_dump($forecast);

Результат

[
    sales => 19980                // сумма продаж в основной валюте магазина
    sold => 2                     // среднее количество продаж в месяц на базе статистики за 90 дней
    sold_rounded => 2             // среднее количество продаж в месяц, округлённое до целого
    sold_rounded_1 => 2           // среднее количество продаж в месяц, округлённое до 1 десятичного знака
    sold_rounded_1_str => '2.0'   // среднее количество продаж в месяц, округлённое и отформатированное в виде строки
    profit => 19980               // прибыль с продаж, выраженная в основной валюте магазина
    days => 150                   // количество дней, по истечении которых, согласно прогнозу, товар закончится на складе
    date => 1464444704            // метка UNIX дня, по истечении которого, согласно прогнозу, товар закончится на складе
    count => 10                   // количество товара на складе
]

public function getReviews()

Возвращает список отзывов покупателей о товаре. Эквивалентно чтению поля reviews.

Пример

$product = new shopProduct(100500);
$reviews = $product->getReviews();
wa_dump($reviews);

Результат

[
    1 => [
      'id' => '1',
      'left_key' => '1',
      'right_key' => '2',
      'depth' => '0',
      'parent_id' => '0',
      'product_id' => '100500',
      'review_id' => '0',
      'datetime' => '2000-00-00 13:00:00',
      'status' => 'approved',
      'title' => 'Супер!',
      'text' => 'Покупаю уже в сотый раз. Бескомпромиссно лучший товар на всём белом свете.',
      'rate' => '5.00',
      'contact_id' => '99',
      'name' => NULL,
      'email' => NULL,
      'images_count' => '0',
      'site' => NULL,
      'auth_provider' => 'user',
      'ip' => '2130706433',
      'images' => [],
      'datetime_ts' => 1668508693,
      'author' => [
        'name' => 'Смирнов Виктор',
        'email' => NULL,
        'site' => NULL,
        'id' => '1',
        'is_user' => '1',
        'is_company' => '0',
        'photo' => '0',
        'photo_url_50' => '/wa-content/img/userpic50@2x.jpg',
        'photo_url_20' => '/wa-content/img/userpic20@2x.jpg',
      ],
    ],
  ]

public function getSkuFeatures()

Возвращает информацию о значениях характеристик, указанных в свойствах модификаций товара. Эквивалентно чтению поля sku_features.

Пример

$product = new shopProduct(100500);
$sku_features = $product->getSkuFeatures();
wa_dump($sku_features);

Результат

[
    3182 => [
      'razmer' => 'L',
      'weight' => shopDimensionValue object {
        shopDimensionValuevalue => '120'
        shopDimensionValueunit => 'g'
        shopDimensionValuetype => 'weight'
        shopDimensionValueunits => NULL
        shopDimensionValuevalue_base_unit => '0.12'
        shopDimensionValuebase_code => NULL
        shopDimensionValueformat => false
        id => '1'
        feature_id => '1'
        sort => '0'
      },
    ],
    3183 => [
      'razmer' => 'XL',
      'weight' => shopDimensionValue object {
        shopDimensionValuevalue => '150'
        shopDimensionValueunit => 'g'
        shopDimensionValuetype => 'weight'
        shopDimensionValueunits => NULL
        shopDimensionValuevalue_base_unit => '0.12'
        shopDimensionValuebase_code => NULL
        shopDimensionValueformat => false
        id => '2'
        feature_id => '1'
        sort => '2'
      },
    ],
]

public function checkRights()

Возвращает информацию о правах доступа авторизованного пользователя к редактированию данного товара.

Пример

$product = new shopProduct(100500);
if ($product->checkRights()) {
    // у авторизованного пользователя есть доступ к редактированию товара
}

public function duplicate()

Создаёт копию товара и возвращает экземпляр класса, соответствующего созданной копии.

Пример

$product = new shopProduct(100500);
$new_product = $product->duplicate();

public function getProductUrl ($storefront = null, $set_canonical = false, $absolute = true)

Возвращает URL страницы товара на витрине.

Параметры

  • $storefront

    Обозначение витрины, для которой нужно получить URL страницы товара. Доступные варианты значений:

    • true: Для формирования URL страницы товара использовать адрес витрины, полученный автоматическим подбором: текущей витрины — для фронтенда, первой из списка витрин — для бекенда.
    • Строка с доменом и адресом витрины, например, 'mydomain.ru/shop/'.
  • $set_canonical

    Флаг, обозначающий необходимость получить канонический URL страницы товара, сформированный с учётом URL страницы его основной категории (для типов адресов «Естественный» и «Плоский»).

  • $absolute

    Флаг, обозначающий необходимость получить абсолютный URL страницы товара.

Пример

$product = new shopProduct(100500);
echo $product->getProductUrl(true, true, true);    // http://mydomain.ru/shop/sale/superproduct/
echo $product->getProductUrl(true, true, false);   // /shop/sale/superproduct/
echo $product->getProductUrl(true, false, true);   // http://mydomain.ru/shop/superproduct/

public function getCanonicalCategory ($route = null)

Возвращает данные основной категории товара, если она доступна на указанной витрине.

Параметры

  • $route

    Массив с параметрами витрины, для которой нужно проверить доступность основной категории товара. Если значение не указано, то проверка доступности основной категории товара на витрине не выполняется.

Пример

$product = new shopProduct(100500);
$canonical_category = $product->getCanonicalCategory($route);

public function getCategoryUrl ($route = null)

Возвращает основной фрагмент URL основной категории товара, если она доступна на указанной витрине.

Параметры

  • $route

    Массив с параметрами витрины, для которой нужно проверить доступность основной категории товара. Если значение не указано, то проверка доступности основной категории товара на витрине не выполняется.

Пример

$product = new shopProduct(100500);
$canonical_category_url_part = $product->getCategoryUrl($route); // 'sale/accessories'

public function getBreadcrumbs ($product_link = false, $route = null)

Возвращает массив данных для формирования ссылок навигации с помощью «хлебных крошек» относительно страницы товара на витрине.

Параметры

  • $product_link

    Флаг, обозначающий необходимость добавить в возвращаемый массив «хлебных крошек» информацию о товаре.

  • $route

    Массив с параметрами витрины, с учётом настроек которой нужно получить данные для формирования ссылок «хлебных крошек». Если значение не указано, то учитываются настройки текущей витрины.

Пример

$product = new shopProduct(100500);
$breadcrumbs_data = $product->getBreadcrumbs(true);

Результат

[
    13 => [
        'url' => '/shop/accessories',
        'name' => 'Аксессуары',
    ],
    16 => [
        'url' => '/shop/accessories/cases/',
        'name' => 'Чехлы',
    ],
    0 => [
        'url' => NULL,
        'name' => 'Чехол для планшета',
    ],
]

public function getVideo ($sizes = array(), $absolute = false)

Возвращает информацию о видеоролике товара.

Параметры

  • $sizes

    Строковое обозначение эскиза изображения видеоролика или массив таких обозначений. Допустимые варианты обозначения размеров см. в описании метода getImages(). URL эскизов с указанными размерами включаются в массив данных, возвращаемый методом.

  • $absolute

    Флаг, обозначающий необходимость вернуть абсолютные URL эскизов вместо относительных.

Пример

$product = new shopProduct(100500);
wa_dump($product->getVideo(['96x96', '100', '200x0'], true));

Результат

[
    'product_id' => '100500',
    'orig_url' => 'http://youtu.be/...',
    'url' => '//www.youtube.com/embed/...',
    'width' => 560,
    'height' => 315,
    'images' => [
        'http://mydomain.ru/wa-data/public/shop/products/00/05/100500/video/96x96.jpg',
        'http://mydomain.ru/wa-data/public/shop/products/00/05/100500/video/100.jpg',
        'http://mydomain.ru/wa-data/public/shop/products/00/05/100500/video/200x0.jpg',
    ],
]

public function getSkus()

Возвращает информацию о модификациях товара: значения полей таблицы shop_product_skus и количество на всех настроенных складах.

Пример

$product = new shopProduct(100500);
wa_dump($product->getSkus());

Результат

[
    398 => [
        'id' => '398',
        'product_id' => '100500',
        'sku' => '...',
        'sort' => '1',
        'name' => 'белый',
        'image_id' => '0',
        'price' => 99.0,
        'primary_price' => 0.0,
        'purchase_price' => 0.0,
        'compare_price' => 0.0,
        'count' => '12.000',
        'available' => '1',
        'stock_base_ratio' => NULL,
        'order_count_min' => NULL,
        'order_count_step' => NULL,
        'status' => '1',
        'dimension_id' => NULL,
        'file_name' => '',
        'file_size' => '0',
        'file_description' => NULL,
        'virtual' => '0',
        'stock' => [
            2 => '0.000',
            1 => '12.000',
        ],
    ],
]

public function getFeatures ($status = null)

Возвращает информацию о характеристиках товара.

Параметры

  • $status

    Обозначение видимости характеристик на витрине: 'public' (вернуть только видимые характеристики), 'all' (вернуть все характеристики), null (на витрине: вернуть только видимые характеристики, в противном случае: вернуть все характеристики).

Пример

$product = new shopProduct(100500);
wa_dump($product->getFeatures());

Результат

[
    'accessory_type' => 'чехол',
    'country_of_production' => 'Китай',
    'suitable_for' => [
      264 => 'планшеты',
    ],
    'weight' => shopDimensionValue object {
      shopDimensionValuevalue => '0.1'
      shopDimensionValueunit => 'kg'
      shopDimensionValuetype => 'weight'
      shopDimensionValueunits => NULL
      shopDimensionValuevalue_base_unit => '0.1'
      shopDimensionValuebase_code => NULL
      shopDimensionValueformat => false
      id => '200'
      feature_id => '95'
      sort => '135'
    },
  ]