2016-01-20 2 views
0

Итак, я пытаюсь добавить некоторые товары в Imports на странице администратора, однако цены с поплавком, заканчивающиеся на «0», усекаются excel. Например, если у меня есть цена в 4,10 доллара, она будет усечена до $ 4.1, а цены на веб-странице будут отображаться так. Я думал о создании автоматизации vba в макросе, но есть много разных файлов, и это потребует слишком много усилий. Итак, я знаю, что не могу сделать ничего превосходного. Теперь, magento-wise, я мог бы использовать $ _coreHelper (валюта (цена), чтобы преобразовать это в правильный формат, но те, кто знает, где я могу найти этот код? Любые другие идеи? Заранее спасибоissue Импорт файла csv в magento

+0

В своем описании вы исключаете использование Excel и VBA. Вы должны удалить теги для них. – RLH

+0

Есть ли у вас какие-либо идеи, которые я мог бы применить для решения этой проблемы с помощью VBA? –

+1

Я не знаю Magento, но вы можете посмотреть на экспорт чисел из Excel в виде строки, чтобы сохранить конечные нули. Однако я не уверен, как создать csv для Magento. Возможно, это не так, как получить цифры в виде строк. – RLH

ответ

0

Вот вам вариант. У меня есть сценарий import.php, который я использую для импорта или обновления большого количества продуктов и их атрибутов. Он позволит вам либо обновить, либо создать продукт на основе SKU. Вам нужно будет проверить константы на увидеть, если они соответствуют вашему Magento.

<?php 
include_once("app/Mage.php"); 
Mage::app(); 
umask(0); 
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); 

$counter = 0; 

function GetProduct($sku) 
{ 
    global $counter; 
    echo $sku; 
    $p = Mage::getModel('catalog/product'); 
    $productId = $p -> getIdBySku($sku);  
    if($productId) 
    { 
     echo "!"; 
     $p -> load($productId); 
    } 
    else 
    { 
     $p->setTypeId('simple'); 
     $p->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH); 
     $p->setStatus(1); 
     $p->setTaxClassId(7); 
     $p->setWebsiteIDs(array(1)); 
     $p->setStoreIDs(array(1)); 
     $p->setAttributeSetId(4); 
     $p->setSku($sku); 
    } 
    echo "..."; 
    $counter++; 
    echo " ".$counter; 
    return $p; 
} 

function SaveProduct($p) 
{ 
    try 
    { 
     if (is_array($errors = $p->validate())) 
     { 
      $strErrors = array(); 
      foreach($errors as $code=>$error) 
      { 
       $strErrors[] = ($error === true)? Mage::helper('catalog')->__('Attribute "%s" is invalid.', $code) : $error; 
       echo $strErrors[0]; 
      } 
      $this->_fault('data_invalid', implode("\n", $strErrors)); 
     } 
     $p->save(); 
     echo "\n"; 
    } 
    catch (Mage_Core_Exception $e) 
    { 
     $this->_fault('data_invalid', $e->getMessage()); 
    } 
} 


$product = GetProduct('SKU01'); $product->setData('upc', '013051388461'); SaveProduct($product); unset($product); 
$product = GetProduct('SKU02'); $product->setData('special_price', null); $product->setData('special_from_date', null); SaveProduct($product); unset($product); 
$product = GetProduct('SKU03'); $product->setData('cardboard_height_cm', 28.5); $product->setData('cardboard_width_cm', 37); SaveProduct($product); unset($product); 


?> 

Я часто получаю Excel для создания линий, как $product = GetProduct('SKU03'); $product->setData('cardboard_height_cm', 28.5); $product->setData('cardboard_width_cm', 37); SaveProduct($product); unset($product);, а затем просто скопировать и вставить в сценарий. Я могу редактировать перед запуском.

Это намного быстрее, чем импорт CSV, и он вызывает всех правильных наблюдателей.

Просто запустите это из оболочки SSH.

+0

Думаю, я собираюсь попробовать, я не понимаю, как это не сработает. Спасибо! –

0

Предлагаю вам использовать Open Office Calc.

Прежде чем вводить значения в столбце цены, щелкните правой кнопкой мыши над столбцом> ячейка формата форматирования> вкладка «Выбор номеров»> выберите текст, как показано на прилагаемом изображении, затем нажмите «ОК».

Screenshot Теперь, когда вы вводите значение типа 12.30, оно будет таким, как оно есть в столбце. Также сохраните файл в формате UTF-8 csv перед импортом.

Вы можете проверить созданный файл, открыв его в блокноте ++.

Смежные вопросы