Dies ist ein klassischer Fall, in dem die Codegenerierung Ihr Freund ist. Beenden Sie die manuelle Erstellung und verwenden Sie das folgende kostenlose Open Source-Skript (das ebenfalls in das n98-magerun
Tool integriert wurde).
Im Folgenden wird beispielsweise das Farbattribut der Beispieldaten dupliziert
$ 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);
Wenn Sie die n98-magerun
Version verwenden, wäre das
$ n98-magerun dev:setup:script:attribute catalog_product color
Mit der Codegenerierung können Sie Ihre Arbeit schneller erledigen, und mit der Zeit lernen Sie das Format.
onClick
undonChange
in options for attribute hinzufügen ?Jedes Element im
value
Array repräsentiert eine Option. Sie können die Bezeichnungen für jede Geschäftsansicht hinzufügen, wenn Sie mehr davon haben:Grundsätzlich ist es
store_id=>'Label for store'
quelle
$installer = $this;
als erste Zeile im Installationsskript hinzufügen .backend
ist das Äquivalent derbackend_model
Spalte in dereav_attribute table
. Ein Attribut kann Frontend-Modelle (dh Blöcke, die zum Rendern des Attributfelds im Backend verwendet werden), Quellmodelle (für Dropdown- und Mehrfachauswahl-Attribute. Dies ist die Quelle der Optionen) und Backend-Modelle unterstützen. Mit der Klasse, die Sie für ein Backend-Modell festlegen, können Sie Aktionen ausführen, bevor der Attributwert gespeichert wird oder nachdem er geladen wurde. Sie können dies verwenden, um zusätzliche Überprüfungen durchzuführen oder um den Wert zu ändern. In diesem speziellen Fall wird das Array, das Sie vom Formular senden, serialisiert.Fügen Sie das Quellmodell hinzu, wenn Sie eine Dropdown-Liste mit Attributtypen erstellen.
quelle
Versuche dies. Ich habe so viele Attribute und Attributwerte über diesen Code hinzugefügt, und Sie können das Attribut einem Attribut zuweisen, das über diesen Code festgelegt wird.
quelle