Magento xml导入-图片不导入


Magento xml importing - pictures are not imported

我设法获得了用于从XML导入具有字段映射的产品的脚本。(magento XML导入映射)

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

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

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

我问得太快了…问题是岩浆配置,所以解决方案是:

  • 启用Magmi图像属性处理器插件
  • 使用"default" profile

    dp -> beginImportSession("123","创造");

(123是错误的岩浆剖面)所以右行必须是:

$dp->beginImportSession("default", "create");