ФорумПрограммированиеPHP для идиотовMagento → Import products & multiple images

Import products & multiple images

  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 16 декабря 2010 г. 13:29

    Так уж случилось, что вычитал такую тему: мол разработчики magento, сделали, что если в импорте несколько картинок, то дефайлтная ставиться в 0…
    В инете нашел пару sql-ин, которые привязаны к id-шнику через аттрибут, но id-шники аттрибутов поменялись, и "всё пропало" :)
    Пришлось писать скрипт-фиксер. Вопрос чисто к NRG, это сделано для пущего зароботка на поддержке? или скрипт можно выложить?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 16 декабря 2010 г. 13:38, спустя 9 минут 8 секунд

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 16 декабря 2010 г. 13:38, спустя 23 секунды

    выкладывай конечно)

    у меня рядом верстальщик-дизайнер ебется все время с какими-то импортами из csv
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 16 декабря 2010 г. 13:43, спустя 5 минут 5 секунд

    ну ок, только за код не пизьдить, это всего лишь скрипт на скорую руку, ложиться в корень магетны и ставит в дефоулт 1ую картинку
    <?php

    function isExistsIm($obj){
    $ret = false;
    foreach ($obj as $_image ){
    $ret = $_image->getFile();
    }
    return $ret;
    }
    require_once 'app/Mage.php';
    Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
    $products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
    $curr_id = $_GET['id'];
    $upd = false;
    $next = 0;
    foreach ($products as $product) {
    if($upd&&($next<1)){
    $next = $product->getId();
    }
    if($curr_id == $product->getId()){
    $upd = true;
    $gallery = $_gallery = Mage::getModel('catalog/product')->load($curr_id)->getMediaGalleryImages();
    if($im = isExistsIm($gallery)){
    $prp = Mage::getModel('catalog/product');
    $pr = $prp->load($curr_id);
    $pr->setSmallImage($im);
    $pr->setThumbnail($im);
    $pr->save();
    }
    }
    if($next > 0){
    echo '<html><meta http-equiv="refresh" content="0;url=/scriptName.php?id='.$next.'"><body>(End:'.(11327-$next).')</body><html>';
    } else echo 'DONE';

    Вызывать так http://magento/scriptName.php?id={id-шник вашей первой записи}

    Тупо, но рабоает xD

Пожалуйста, авторизуйтесь, чтобы написать комментарий!