Решил вопрос сам, может кому-нибудь мое решение поможет.
Пришлось добавить вручную в базу данных необходимые столбцы (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();
}
}