Ini adalah kasus klasik di mana pembuatan kode adalah teman Anda. Hentikan pembuatan ini dengan tangan, dan coba gunakan skrip sumber terbuka dan gratis berikut , (yang juga telah dimasukkan ke dalam n98-magerun
alat)
Misalnya, berikut ini akan menduplikasi atribut warna data sampel
$ magento-create-setup.php color
//WARNING, non false value detected in is_used_for_price_rules. The setup resource migration scripts may not support this (per 1.7.0.1)
<?php
if(! ($this instanceof Mage_Catalog_Model_Resource_Setup) )
{
throw new Exception("Resource Class needs to inherit from " .
"Mage_Catalog_Model_Resource_Setup for this to work");
}
$attr = array (
'attribute_model' => NULL,
'backend' => '',
'type' => 'int',
'table' => '',
'frontend' => '',
'input' => 'select',
'label' => 'Color',
'frontend_class' => '',
'source' => '',
'required' => '0',
'user_defined' => '1',
'default' => '',
'unique' => '0',
'note' => '',
'input_renderer' => NULL,
'global' => '1',
'visible' => '1',
'searchable' => '1',
'filterable' => '1',
'comparable' => '1',
'visible_on_front' => '0',
'is_html_allowed_on_front' => '0',
'is_used_for_price_rules' => '1',
'filterable_in_search' => '1',
'used_in_product_listing' => '0',
'used_for_sort_by' => '0',
'is_configurable' => '1',
'apply_to' => 'simple',
'visible_in_advanced_search' => '1',
'position' => '1',
'wysiwyg_enabled' => '0',
'used_for_promo_rules' => '1',
'option' =>
array (
'values' =>
array (
0 => 'Green',
1 => 'Silver',
2 => 'Black',
3 => 'Blue',
4 => 'Red',
5 => 'Pink',
6 => 'Magenta',
7 => 'Brown',
8 => 'White',
9 => 'Gray',
),
),
);
$this->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'color', $attr);
Jika Anda menggunakan n98-magerun
versi, itu akan menjadi
$ n98-magerun dev:setup:script:attribute catalog_product color
Menggunakan pembuatan kode akan memungkinkan Anda menyelesaikan pekerjaan dengan lebih cepat, dan seiring berjalannya waktu Anda akan mulai mempelajari formatnya.
onClick
danonChange
dalam opsi untuk atribut?Setiap elemen dalam
value
array mewakili opsi. Anda dapat menambahkan label untuk setiap tampilan toko jika Anda memiliki lebih banyak seperti ini:Pada dasarnya itu
store_id=>'Label for store'
sumber
$installer = $this;
sebagai baris pertama dalam skrip penginstal.backend
adalah setara denganbackend_model
kolom dieav_attribute table
. Atribut dapat mendukung model frontend (yang sebenarnya adalah blok yang digunakan untuk merender bidang atribut di backend), model sumber (untuk atribut dropdown dan multiselect. Ini adalah sumber opsi) dan model backend. Anda bisa menggunakan kelas yang Anda tetapkan model backend untuk melakukan tindakan sebelum nilai atribut disimpan atau setelah itu dimuat. Anda dapat menggunakan ini untuk melakukan validasi tambahan atau untuk mengubah nilainya. Dalam kasus khusus ini, larik yang Anda kirim dari formulir bersambung.Tambahkan model sumber setiap kali Anda membuat dropdown tipe atribut.
sumber
coba ini. Saya telah menambahkan begitu banyak atribut dan nilai atribut melalui kode ini dan Anda dapat menetapkan atribut ke atribut yang ditetapkan melalui kode ini.
sumber