Magento niteliği aşağı bir damla yeni seçenekler ekleyerek

4 Cevap php

Merhaba Im şu anda magento için bir ürün Senkronizasyonum komut dosyası yazıyorum. Ben verilen bir özellik seti ile yeni bir ürün eklemek için biliyorum. Ancak ben kullanıyorum atributes biri bir boyut alandır. Yeni bir boyut ben özniteliği için bu seçeneği eklemek istediğiniz encounterd zaman, ben bu lütfen nasıl merak ediyorum?

4 Cevap

Yaptıktan sonra biraz daha ben sonda bunu nasıl öğrendim etrafa. Sonra ben böyle yapmak istedim biri olarak destek operasyonlarına API uzanır xml-api bir uzantısı bulundu.

I kullanılan bir uzantısı oldu MagentoeXtended

Burada Ürün Görünüm veya sil atfetmek yeni seçenek eklemek için bir script:

$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')
 ->setCodeFilter(YOUR_ATTRIBUTE_CODE)
 ->getFirstItem();

$options = $attributeInfo->getSource()->getAllOptions(false);
$_optionArr = array(
     'value'  => array(), 
     'order'  => array(), 
     'delete' => array()
);
foreach ($options as $option) {
    $_optionArr['value'][$option['value']] = array($option['label']);
}
$_optionArr['value']['option_1'] = array(NAME_OF_OUR_NEW_OPTION);
$attribute->setOption($_optionArr);
$attribute->save();

...

Magento kök test attribute.php: Bir dosya ie koydu.

<?php
// Include and start Magento
require_once dirname(__FILE__).'/app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// Load attribute model and load attribute by attribute code
$model = Mage::getModel('catalog/resource_eav_attribute')->load('some_dropdown_attribute', 'attribute_code');
// Get existing options
$options = $model->getSource()->getAllOptions(false);
// Get the count to start at
$count = count($options) + 1;
// Prepare array
$data = array(
    'option' => array(
        'value' => array(),
        'order' => array()
    )
);
// You can loop here and increment $count for multiple options
$key = 'option_'.$count;
$data['option']['value'][$key] = array('Test '.$count);
$data['option']['order'][$key] = 0;
// Add array to save
$model->addData($data);
// Save
$model->save();

Öznitelik Test X adında yeni bir seçenek yaratmak olmalıdır. Tested on Magento Enterprise 1.11.2

Nasıl senkronizasyonu yapıyorsun? PHP ile veya XML-RPC/SOAP API aracılığıyla? Ya da başka bir yöntemi?