Magento xml导入 - 不导入图片

时间:2015-08-16 13:56:54

标签: php xml magento

我设法获取脚本,用于导入带有XML工作字段映射的产品。(magento xml import mapping)。

我使用Magmi导入器,这里是magmi图像属性处理器插件的链接,这是(我后面发现)必须从URL导入图片:http://wiki.magmi.org/index.php?title=Image_attributes_processor

但无法导入图片(链接到图片的格式为XML格式)。

XML中的一个产品:

<izdelek>
    <st>1</st>
    <izdelekID>75</izdelekID>
    <izdelekIme>ATI Radeon 102 - B62902 (B)</izdelekIme>
    <izdelekPodnaslov>256 MB, DMS - 59</izdelekPodnaslov>
    <izdelekOpis></izdelekOpis>
    <izdelekKategorija>Komponente</izdelekKategorija>
    <izdelekDodatenOpis>
        Grafična kartica omogoča razširjeno namizje na dveh ekranih (dve različni sliki)! LOW PROFILE - namenjena
        izključno SFF računalnikom!
    </izdelekDodatenOpis>
    <zadnja_osvezitev>16/08/2015</zadnja_osvezitev>
    <url>http://www.bbt.si/ati-radeon-102-b62902-b</url>
    <garancija>6 mesecev</garancija>
    <opis>PCIe</opis>
    <slike>
        <slika1>
            http://www.bbt.si/modules/uploader/uploads/s_product/pictures/crop1/graficna-kartica-ati-102-b62902.jpg
        </slika1>
    </slike>
    <cena>12.20</cena>
    <cenaBrezddv>10.00</cenaBrezddv>
    <zaloga>več na zalogi</zaloga>
</izdelek>

需要一些建议这段代码有什么问题:

<?php

$spisekKategorij = array(
    'Komponente' => '738',
    'Prenosniki' => '742',
    'Monitorji'  => '737',
);

class TestLogger
{
    /**
     * logging methos
     *
     * @param string $data
     *            : log content
     * @param string $type
     *            : log type
     */
    public function log($data, $type)
    {
        echo "$type:$data\n";
    }
}

// setup include PATH's
set_include_path('magmi' . PATH_SEPARATOR . 'magmi/inc' . PATH_SEPARATOR . 'magmi/integration/inc' . PATH_SEPARATOR . 'magmi/engines');

// end include PATH's

require_once("magmi_datapump.php");    // call Datapump

$dp = Magmi_DataPumpFactory::getDataPumpInstance("productimport");
$dp->beginImportSession("123", "create"); // "default" - name of profile ,  "create" - we want to create and update items

$file = "test.xml";

$microline = new SimpleXMLElement($file, null, true); // load XML

foreach ($microline as $item) {
    $izdelek    = ((string) $item->izdelekKategorija);
    $kategorija = (($spisekKategorij[$izdelek]) ? $spisekKategorij[$izdelek] : $kategorija);


    $newProductData = array(
        "sku"               => (string) $item->izdelekID .= ' abbt',
        "name"              => (string) $item->izdelekIme,
        'price'             => ((real) $item->cenaBrezddv),
        'description'       => (string) $item->izdelekOpis . (string) $item->izdelekDodatenOpis,
        'short_description' => (string) $item->izdelekDodatenOpis,
        'diagonala_rshop'   => (string) $item->velikost_zaslona,
        'procesor_rshop'    => (string) $item->procesor,
        'ram_rshop'         => (string) $item->ram,
        'hdd_rshop'         => (string) $item->disk,
        'operacijski_rshop' => (string) $item->licencna_nalepka,
        'locljivost_rshop'  => (string) $item->locljivost,
        'grafika_rshop'     => (string) $item->grafika,
        "attribute_set"     => "test",
        "store"             => "rshop",
        "category_ids"      => $kategorija,
    );


    $newProductData["image"]       = '+' . (string) $item->slike->slika1; // + show picture, - dont show picture
    $newProductData['small_image'] = '+' . (string) $item->slike->slika1; // small img
    $newProductData['thumbnail']   = '+' . (string) $item->slike->slika1;

    echo $izdelek;
    echo $kategorija;
    echo $slika;

    echo '<pre>';
    print_r($newProductData);
    echo '</pre>';


    $dp->ingest($newProductData);


    echo '' . ' mem:' . memory_get_usage() . " ... Done! <br />\n";  //memory usage check
}

unset($microline);

$dp->endImportSession(); // end import

0 个答案:

没有答案