cancel
Showing results for 
Search instead for 
Did you mean: 

Как получить имя товара в карточке товара в m2?

Как получить имя товара в карточке товара в m2?

Через API изменяю name в quote item. Для этого переопределил CartItemPersister и дописал назначение name. Теперь я могу записывать свое значение для этого поля.

 

Далее я бы хотел возможность отобразить измененное имя. Однако, в quote item всегда стоит текущее имя продукта. Для коллекций я нашел причину: при загрузке quote items для каждого item загружается продукт тем самым перезаписывая поля с данными самого quote item.

Можно, конечно, переопределить класс и сделать как-то так:

 

// Magento\Quote\Model\ResourceModel\Quote\Item\Collection
// _assignProducts()

$name = $item->getName();
$item->setQtyOptions($qtyOptions)->setProduct($product);
$item->setName($name);

Мне это решение не нравится. Неужели разработчики сделали сохранение данных в бд для продукта в quote item ради интереса без особой цели... Чтобы при его загрузке затирать эти данные. Smiley Very Happy

  

Может быть я ошибаюсь и что-то пропустил?