Magento product image export script / script exportiert alle Produkt Bilder in einen Export Ordner

Gepostet am April 2, 2014

Mit folgendem Script kann man alle Produkt Bilder in einen Export Ordner exportieren. Diese werden durch das Script in die Sku mit einer fortlaufenden Nummerierung umbenannt.

Verzeichnis Aufbau im Root von Magento:
/_export/
/_export/images/
/_export/imageexport.php

Inhalt der „imageexport.php“:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
 
#####################################
### IMAGE EXPORT
#####################################
header('Content-Type: text/html; charset=UTF-8'); 
date_default_timezone_set('Europe/Berlin');
 
/********** options ************/
$baseUrl = '/webseiten/irgendwas.de/';
$savePath = '/webseiten/irgendwas.de/_export/images/';
$shopUrl = 'http://irgendwas.de';
 
/********** mage ************/
require_once '../app/Mage.php';
Mage::app();
 
 
/********** export ************/
$productsCollection = Mage::getModel('catalog/product')->getCollection();
$productsCollection->addAttributeToFilter('status', array('eq' => '1'));
 
foreach ($productsCollection as $product) {
    $product = Mage::getModel('catalog/product')->load($product->getId());
 
    $simage = $product->getImage();
    $sku = $product->getSku();
    $currurl = array();
    $titleurl = '';
    foreach ($product->getMediaGalleryImages() as $image) {
        if ($image->getDisabled()==1) continue;
        if (strpos($image->getUrl(),$simage)!==false) $mainimage = true;
        else $mainimage = false;    
        if ($mainimage) $mainimageurl = str_replace($shopUrl,$baseUrl,$image->getUrl());
        else $currurl[] = str_replace($shopUrl,$baseUrl,$image->getUrl());
    }
    if (empty($mainimageurl)) {
        echo 'ERROR: Mainimage in '.$sku.'<br/>';
        continue;
    }
 
    //copy main image
    copy($mainimageurl,$savePath.$sku.'_1.jpg');
 
    //copy gallery
    if (!empty($currurl)) {
        $counter = 2;
        foreach($currurl as $url) {
            copy($url,$savePath.$sku.'_'.$counter.'.jpg');
            $counter++;
        }
    }
 
    echo 'FINISH: '.$sku.'<br/>';
}

Tags:

Leave a Reply

 

Posts of Current Category



Facebook: