Сам нашел решения.
Надеюсь, это поможет любому, кто его ищет, или, если у вас есть комментарии, как это можно сделать лучше, дайте мне знать.
Создал плагин с этим кодом:
class Item
{
public function afterSetProduct(
\Magento\Quote\Model\Quote\Item $subject,
$result
){
$subject->setName('New Name');
}
}
Таким образом, это устанавливает новое имя для элемента цитаты, видимого во всем, кроме тележки и мини-тележки.
Теперь мое новое имя продукта отображается в: - Сообщение о добавлении в корзину - Товар с ценой, даже в админке и счетах
Но не в: - Мини-корзине - Странице корзины
Для страницы корзины:
Я изменил вывод функции getProduct в Magento \ Checkout \ Block \ Cart \ Item \ Renderer:
class Renderer
{
public function afterGetProductName(
\Magento\Checkout\Block\Cart\Item\Renderer $subject,
$result
){
return 'this is the name';
}
}
Для minicart, также с плагином:
class DefaultItem
{
public function aroundGetItemData(
\Magento\Checkout\CustomerData\AbstractItem $subject,
\Closure $proceed,
\Magento\Quote\Model\Quote\Item $item
){
$data = $proceed($item);
$data['product_name'] = 'this is the productname';
return $data;
}