Babel и копирование галереи Minishop2 в MODX Revolution

  • proGroup
  • 2686
  • 0 Комментариев
  • Babel, Minishop2, галерея товара, MODX, Revolution

Учим Babel копировать галерею Minishop2 для MODX Revolution. Для этого понадобится добавить всего несколько строк в babel.class.php. После строки №207 для версии 2.2.5

if($newResource->save()) {

вставить          

/* начинаем копировать галерею товара*/
$fpatchroot = $_SERVER['DOCUMENT_ROOT'];
$bdpref = $this->modx->getOption('table_prefix');
$result = $this->modx->query("SELECT * FROM ".$bdpref."ms2_product_files WHERE product_id =".$resource->get('id'));
if (!is_object($result)) {
$row=array('noresult');
}
else {
while ($r = $result->fetch(PDO::FETCH_ASSOC)) {
   $filesource = $r['url'];
      $r['id']='';
      $r['path'] = str_replace($resource->get('id').'/',$newResource->get('id').'/',$r['path']);
      $r['product_id'] = $newResource->get('id');
      $r['url'] = str_replace('/'.$resource->get('id').'/','/'.$newResource->get('id').'/',$filesource);
      $this->modx->query("INSERT INTO ".$bdpref."ms2_product_files VALUES('" . implode("', '", $r) . "')");
      $folder_arr = explode('/',$r['url']);
      array_pop($folder_arr);
      $folder = implode('/',$folder_arr);
      if (!file_exists($fpatchroot.$folder)) {
      mkdir($fpatchroot.$folder, 0755, true);
      }
      copy($fpatchroot.$filesource,$fpatchroot.$r['url']);
}
}
$condition = array('product_id' => $newResource->get('id'), 'parent' => 0, 'type' => 'image');
$files = $this->modx->getCollection('msProductFile', $condition);
foreach ($files as $file) {
$this->modx->removeCollection('msProductFile', array('parent' => $file->id));
   $file->generateThumbnails();
}
/* закончили копировать галерею товара*/
0 Комментарии

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Вы можете авторизоваться на сайте через: