Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Category um neues Attribute erweitern funktioniert nicht
 
yenlee
Jr. Member
 
Total Posts:  2
Joined:  2011-06-11
 

Hallo, ich versuche meine Kategorien um ein neues Feld zu erweitern, Ich verwende Version 1.7. Bisher habe ich gelesen, dass es dafür 2 Ansätze gibt. Einfach in der Datenbank jeweils einen Datensatz in den Tabellen eav_attribute und eav_entity_attribute anlegen. In eav_entity_attribute wird die zuvor erzeugte attribute_id eingefügt. Danach sollte das neue Feld angezeigt werden, wenn ich eine neue Kategorie erstelle. Wird es aber nicht. Mir scheint, irgendetwas fehlt.

Selbst wenn ich ein neues Modul erstelle, kann ich das Modul zwar nutzen, aber die Datei mysql4-install-0.1.0.php wird überhaupt nicht ausgeführt, obwohl in der entsprechenden config.xml ein entsprechender resources block vorhanden ist.

Fehlermeldungen bekomme ich keine.

Nun habe ich zwei Fragen. Warum funktioniert die erste Variante nicht? Die folgenden Zeilen machen doch nichts anderes, oder?

$installer->addAttribute(’catalog_category’,’my_item’,array(
$entityTypeId = $installer->getEntityTypeId(’catalog_category’);
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
$installer->addAttributeToGroup( $entityTypeId, $attributeSetId, ‘General Information’, ‘my_item’, 4);

Wie kann ich dafür sorgen, dass mysql4-install-0.1.0.php ausgeführt wird bzw. wie sehe ich warum die Datei nicht ausgeführt wird.

Den Cache habe ich abgeschaltet und wenn ich den Index neu erstelle gibt es keinen Fehler.

Beste Grüße
Jens

 
Magento Community Magento Community
Magento Community
Magento Community
 
yenlee
Jr. Member
 
Total Posts:  2
Joined:  2011-06-11
 

Ich habe eine Teillösung gefunden. Wenn man die Daten in der DB anlegen möchte, benötigt die Tabelle catalog_eav_attribute auch die entsprechenden Einträge. Inbesondere is_visible muss dann auf 1 stehen.

Entsprechend sorgt

$installer->addAttribute(\’catalog_category\’,\’my_item\’,array(
\’visible\’ => true,

wohl dafür, das es sichtbar ist. Nur warum mein Script nicht ausgeführt wird, verstehe ich noch immer nicht.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sturmi
Member
 
Total Posts:  50
Joined:  2008-05-13
 

Gibt es inzwischen hier für eine Lösung? Stehe vor dem selben Problem.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Siggi_Schmitz
Enthusiast
 
Avatar
Total Posts:  811
Joined:  2011-07-03
 

1) Ohne das Modul zu sehen kann dir keiner sagen wieso dein Script nicht ausgeführt wird. In der Tabelle core_resource stehen alle Module mit allen Versionen drin, wenn deins nicht drin auftaucht, dann wurde das Script nicht ausgeführt, wenn doch dann noch.

2) Was das anlegen von Kategorie-Attributen per install - file angeht, so hab ich hier ein Snippet gefunden von nem alten Modul von mir wo ich genau dasselbe mache, funktioniert auch Attributcode ist in diesem Fall “href”

$installer $this;
$installer->startSetup();

$installer->addAttribute(
    
'catalog_category',
    
'href',
    array(
        
'label' => 'External link',
        
'input' => 'text',
        
'global' => 0,
        
'is_global' => 0,
        
'required' => false,
        
'notice' => 'If not empty, a click on this category will lead to the entered link'
    
)
);

$installer->updateAttribute(
    
'catalog_category',
    
'href',
    
'is_global',
    
Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE
);
$installer->updateAttribute(
    
'catalog_category',
    
'href',
    
'visible_on_front',
    
true
);
 
Magento Community Magento Community
Magento Community
Magento Community
 
Sturmi
Member
 
Total Posts:  50
Joined:  2008-05-13
 

Wie kann ich dann z.B. auf das Attribut im Frontend zugreifen?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Siggi_Schmitz
Enthusiast
 
Avatar
Total Posts:  811
Joined:  2011-07-03
 

Ganz normal, wie auch bei Produkten:

$category->getData('href');
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top