private:koding:hostcms:modules:shop:useful:perenos_kommentariev_ot_modificikacij_k_tovaru

Перенос комментариев от модификаций к товару

  1. Создать новую ТДС с кодом, размещенным в конце статьи.
  2. В структуре создать новый раздел.
  3. Прикрепить созданную ранее ТДС к структуре.
  4. В настройках отменить отображение в меню сайта.
  5. Перейти по указаному пути для запуска скрипта.

Скрипт для переноса комментариев:

<?php
 
/**
* Перенос комментариев от модифицикаций к товару
* 
* @author Titov Maksim, KAD Systems (©) 2017    
* @date 12-01-2017  
* Начало >>
*/
// $limit количество записей которые будет изменять скрипт за один шаг
//нужен для обхода ограничения памяти
$limit = 500;
//id магазина
$shopId = 1;
 
$oShop = Core_Entity::factory('Shop', $shopId);
 
$oItemCount = $oShop->Shop_Items;
$oItemCount->queryBuilder()
    ->where('modification_id', '=', 0);
$itemCount = $oItemCount->getCount();
 
$step   = $itemCount/$limit;
$step = ceil($step);
 
for ($i=0; $i<=$step; $i++)
{
    $oShopItems = $oShop->Shop_Items;
    $oShopItems->queryBuilder()
        ->where('modification_id', '=', 0)
        ->limit($limit)
        ->offset($i*$limit);
    $aoShopItems = $oShopItems->findAll();
 
    foreach($aoShopItems as $oShopItem)
    {
        $oShopItemMods = Core_Entity::factory('Shop_item');
        $oShopItemMods
            ->queryBuilder()        
            ->where('modification_id','=',$oShopItem->id);
        $aoShopItemMods = $oShopItemMods->findAll();
 
        foreach($aoShopItemMods as $oShopItemMod)
        {
            $aoComments = $oShopItemMod->Comments->findAll();               
            foreach($aoComments as $oComment)
            {
                $oShopItemMod->remove($oComment);
                $oShopItem->add($oComment);
            }
        }               
    }
}
/**
* << Конец 
* @author Titov Maksim, KAD Systems (©) 2017    
* @date 12-01-2017
*/

Страницу создал Максим Титов 12.01.17 в 13:03

private/koding/hostcms/modules/shop/useful/perenos_kommentariev_ot_modificikacij_k_tovaru.txt · Last modified: 27.06.17 в 15:53 by maximzasorin_gmail.com