Название группы и родителя модификации в письме пользователю\админу

#
Название группы и родителя модификации в письме пользователю\админу
В письмах админу\пользователю передается только название положенного в корзину товара. Как туда добавить еще и название группы товара, а если это модификация, то название родителя этой модификации?
#
Re: Название группы и родителя модификации в письме пользователю\админу
Решил вопрос сам,  может кому-нибудь мое решение поможет.

Пришлось добавить вручную в базу данных необходимые столбцы (shop_item_name, shop_subgroup_name и shop_group_name в моем случае) в таблице "shop_order_items".

В ..modules\shop\payment\system\handler.php в foreach переборки итемов добавил код (свой добавленный код выделил жирным:


foreach ($aShop_Cart as $oShop_Cart)
      {
         if ($oShop_Cart->Shop_Item->id)
         {
            if ($oShop_Cart->postpone == 0)
            {
               $oShop_Item = $oShop_Cart->Shop_Item;

               $quantity += $oShop_Cart->quantity;

               // Количество для скидок от суммы заказа рассчитывается отдельно
               $oShop_Item->apply_purchase_discount
                  && $quantityPurchaseDiscount += $oShop_Cart->quantity;

               $oShop_Order_Item = Core_Entity::factory('Shop_Order_Item');
               $oShop_Order_Item->quantity = $oShop_Cart->quantity;
               $oShop_Order_Item->shop_item_id = $oShop_Cart->shop_item_id;
               $oShop_Order_Item->shop_warehouse_id = $oShop_Cart->shop_warehouse_id;

               // Prices
               $oShop_Item_Controller = new Shop_Item_Controller();

               Core::moduleIsActive('siteuser') && $oSiteuser
                  && $oShop_Item_Controller->siteuser($oSiteuser);

               $oShop_Item_Controller->count($oShop_Cart->quantity);

               $aPrices = $oShop_Item_Controller->getPrices($oShop_Item, $this->_round);

               $amount += $aPrices['price_discount'] * $oShop_Cart->quantity;

               // Сумма для скидок от суммы заказа рассчитывается отдельно
               $oShop_Item->apply_purchase_discount
                  && $amountPurchaseDiscount += $aPrices['price_discount'] * $oShop_Cart->quantity;

               $oShop_Order_Item->price = $aPrices['price_discount'] - $aPrices['tax'];
               $oShop_Order_Item->rate = $aPrices['rate'];
               $oShop_Order_Item->name = $oShop_Item->name;
               $oShop_Order_Item->type = 0;
               $oShop_Order_Item->marking = strlen($oShop_Cart->marking)
                  ? $oShop_Cart->marking
                  : $oShop_Item->marking;

               
               // Присвоение имени группы, подгруппы и родителя модификации
               $re_shop_item = Core_Entity::factory('Shop_Item', intval($oShop_Order_Item->shop_item_id));
               if ($re_shop_item->shop_group_id == 0) {

                  $re_shop_item_name = Core_Entity::factory('Shop_Item', intval($re_shop_item->modification_id));
                  $oShop_Order_Item->shop_item_name = $re_shop_item_name->name;

                  $re_shop_subgroup = Core_Entity::factory('Shop_Group', intval($re_shop_item_name->shop_group_id));
                  $oShop_Order_Item->shop_subgroup_name = $re_shop_subgroup->name;

                  $re_shop_group = Core_Entity::factory('Shop_Group', intval($re_shop_subgroup->parent_id));
                  $oShop_Order_Item->shop_group_name = $re_shop_group->name;
               }



               $this->_shopOrder->add($oShop_Order_Item);
               
               // Reserved
               if ($oShop->reserve && !$this->_shopOrder->paid)
               {
                  $oShop_Item_Reserved = Core_Entity::factory('Shop_Item_Reserved');
                  $oShop_Item_Reserved->shop_order_id = $this->_shopOrder->id;
                  $oShop_Item_Reserved->shop_item_id = $oShop_Order_Item->shop_item_id;
                  $oShop_Item_Reserved->shop_warehouse_id = $oShop_Order_Item->shop_warehouse_id;
                  $oShop_Item_Reserved->count = $oShop_Order_Item->quantity;
                  $oShop_Item_Reserved->save();
               }

               // Delete item from the cart
               $Shop_Cart_Controller
                  ->shop_item_id($oShop_Cart->shop_item_id)
                  ->delete();
            }
         }
         else
         {
            $oShop_Cart->delete();
         }
      }
Авторизация