Создайте признак dropdown, содержащий коды страны, магнето

я создал признак dropdown в магнето, который показывает список всех стран. Я сделал это, создавая dropdown приписывает в бэкенде тогда, я использовал SQLyog, чтобы измениться, это - исходная модель, чтобы catalog/product_attribute_source_countryofmanufacture . Теперь это показывает список стран. Я хотел бы создать новый признак dropdown, который покажет список всех кодов страны (в двухбуквенном формате)...

0
nl ja de
добавлено автор Rachel Gallen, источник
или there' s образец dropdown в этой связи excellencemagentoblog.com/magento-admin-form-field
добавлено автор Rachel Gallen, источник
Я don' t знают который файл поставить те коды...
добавлено автор nathanie0221, источник

1 ответы

Необходимо будет создать таможенную исходную модель и назначить ее на новый признак. Чтобы достигнуть этого в вашем модуле создают устанавливать/модернизировать сценарий. Удостоверьтесь, что модель установки расширяет любой Mage_Catalog_Model_Resource_Setup или Mage_Catalog_Model_Resource_Eav_Mysql4_Setup , например:

       
            
                
                    YourPackage_YourModule
                    Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
                
            
        

В устанавливать сценарии создают признак с набором свойств исходной модели к вашему таможенному классу:

$installer = $this;
/* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */

$installer->startSetup();

$applyTo = array(
    Mage_Catalog_Model_Product_Type::TYPE_SIMPLE,
    Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE
);

$installer->addAttribute(
    'catalog_product',
    'custom_countries', 
    array(
        'group'             => 'General',
        'type'              => 'int',
        'backend'           => '',
        'frontend'          => '',
        'label'             => 'Custom Countries',
        'input'             => 'select',
        'source'            => 'yourpackage_yourmodule/product_attribute_source_custom',
        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
        'apply_to'          => implode(',',$applyTo)
    )
);

$installer->updateAttribute('catalog_product', 'custom_countries', 'backend_model', '');

$installer->endSetup();

В Model вашего модуля папка создает структуру каталогов продукт/Признак/Источник и помещает файл Custom.php туда - это - то, где вы вставите свою таможенную исходную модель.

В файл YourPackage/YourModule/Model/Product/Attribute/Source/Custom.php помещает класс со следующим определением.

class YourPackage_YourModule_Model_Product_Attribute_Source_Custom
    extends Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture
{

Добавьте, что функция отвергает в него, который обменивает названия страны этикеток выбора с кодами страны:

public function getAllOptions()
    {
        $options = parent::getAllOptions();
        foreach ($options as $key => $option) {
            $options[$key] = array('value' => $option['value'], 'label' => $option['value']);
        }
        return $options;
    }

Договорились.

3
добавлено