Как изменить значение атрибута товара только для одной конкретной витрины

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

27.04.2011 12:38

***************************************

Хотите знать больше? Запишитесь на УЧЕБНЫЕ КУРСЫ для программистов

***************************************



/**
 * Для примера меняем название одного из товаров французской витрины демо-магазина.
 * Обратите внимание, что терминология программного кода Magento
 * отличается от терминологии официальной документации.
 * В частнгости, программный объект Mage_Core_Model_Store — это витрина (store view),
 * а не магазин (store).
 */


/**
 * @var string $frenchDemoStoreCode
 * Системный код французской витрины в официальном демо-сайте
 */
$frenchDemoStoreCode = 'french';





/**
 * @var int $productId
 * Идентификатор произвольного товара
 */
$productId = 164;




/**
 * @var string $productNameForFrenchStore
 * Произвольное имя товара, которое мы установим только для витрины на французском языке
 */
$productNameForFrenchStore = 'Petits Fours au Beurre';




/**
 * @var Mage_Core_Model_Store $frenchDemoStore
 * Получаем объект-витрину
 */
$frenchDemoStore = Mage::app()->getStore ($frenchDemoStoreCode);



/**
 * @var Mage_Catalog_Model_product $product
 * Получаем объект-товар
 */
$product = Mage::getModel ("catalog/product");




$product

    /**
     * Уставливаем для товара контекст дальнейших изменений: витрина на французском языке
     */
    ->setData ('store_id', $frenchDemoStore->getId ())



    /**
     * Загружаем товар из базы данных
     */
    ->load ($productId)



    /**
     * Устанавливаем для товара новое имя
     */
    ->setData ('name', $productNameForFrenchStore)


    /**
     * Записываем товар в базу данных
     */
    ->save ()

;



***************************************

Хотите знать больше? Запишитесь на УЧЕБНЫЕ КУРСЫ для программистов

***************************************


Поделиться темой: