我设法获取脚本,用于导入带有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