Please help us to make AbanteCart Ideal Open Source Ecommerce Solution for everyone.

Support AbanteCart eCommerce

Author Topic: Help me to migrate image.  (Read 3884 times)

Offline aiswarjya

  • Newbie
  • *
  • Posts: 39
  • Karma: +6/-0
    • View Profile
Help me to migrate image.
« on: April 09, 2016, 08:52:57 PM »
Hi Abantecart
I am successfully migrate data from Abantecart to Abantecart  but face some little problem to migrate Image.
I create abantecart.php migration file which is help me to migrate the data between abantecart to abantecart but not image.

Step 1: Download Abantecart and extract it.

Step 2: Put the code in "admin\language\english\tool\migration.xml" line 70
    <definition>
        <key>entry_cart_abantecart</key>
        <value><![CDATA[Abantecart]]></value>
    </definition>


Step 3: Replace this on "admin\model\tool\migration.php" line 32 and line 738
* @var Migration_Abantecart|Migration_Oscmax|Migration_OC15x|Migration_Zen|Migration_Osc|Migration_OC|Migration_Cre  $cart

Step 4: Upload "abantecart.php" file to "admin\model\tool\migration" folder

Step 5: Upload it on your server and install it.

Step 6: Go to System>Data>Migration Tool to start migration.

In this file i remove some of the image related code so it work fine. But in abantecartImage.php (Rename it "abantecartImage.php" to "abantecart.php" before uploading) file all the code are available  and on this script during migration the error will come.

The problem is in (Code copy from OpenCart migration file available in "admin\model\tool\migration" folder)
line 92-109:
                $result = array();
      foreach ($categories->rows as $item) {
         $result[$item['category_id']] = $item;
         $item['image'] = trim($item['image']);
         $result[$item['category_id']]['image'] = array();
         if ($item['image']) {
            $img_uri = $this->data['cart_url'];
            if (substr($img_uri, -1) != '/') {
               $img_uri .= '/';
            }
            $img_uri .= 'image/';
            $result[$item['category_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
         }
      }
      return $result;
   }

line 122-135:
                $result = array();
      foreach ($items->rows as $item) {
         $result[$item['manufacturer_id']] = $item;
         $item['image'] = trim($item['image']);
         $result[$item['manufacturer_id']]['image'] = array();
         if ($item['image']) {
            $img_uri = $this->data['cart_url'];
            if (substr($img_uri, -1) != '/') {
               $img_uri .= '/';
            }
            $img_uri .= 'image/';
            $result[$item['manufacturer_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
         }
      }

line 186-207:
      $result = array();
      foreach ($products->rows as $item) {
         $result[$item['product_id']] = $item;
         $item['image'] = trim($item['image']);
         $result[$item['product_id']]['image'] = array();
         if ($item['image']) {
            $img_uri = $this->data['cart_url'];
            if (substr($img_uri, -1) != '/') {
               $img_uri .= '/';
            }
            $img_uri .= 'image/';
            $result[$item['product_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
            //additional images
            $imgs = $this->src_db->query("SELECT * FROM " . $this->data['db_prefix'] . "product_image WHERE product_id = '".$item['product_id']."' ORDER BY product_id, sort_order");
            foreach ($imgs->rows as $img) {
               $uri = str_replace(' ', '%20', $img_uri . $img['image']);
               if (!in_array($uri, (array)$result[$img['product_id']]['image'])) {
                  $result[$img['product_id']]['image'][] = $uri;
               }
            }
         }
      }

Please help me to change this code and successfully migrate all database as well as image of the Product, Category, Manufacture and other from one Abantecart to another.

Offline Basara

  • Administrator
  • Hero Member
  • *****
  • Posts: 5797
  • Karma: +274/-2
    • View Profile
Re: Help me to migrate image.
« Reply #1 on: April 11, 2016, 01:38:11 AM »
Hello.

Did you know the new AbanteCart version support CSV image import with urls. Just for you info http://docs.abantecart.com/pages/tools/import.html#Example4:inserturl

 

Powered by SMFPacks Social Login Mod