Die Registerkarten der Produktseiten sind im Administrator verschwunden, nachdem versucht wurde, ein neues Produktattribut hinzuzufügen

8

Ich habe gerade die Anweisungen in diesem Link befolgt , um ein neues Produktattribut hinzuzufügen. Danach verschwanden die meisten meiner Produktregisterkarten.

Geben Sie hier die Bildbeschreibung ein

Hier sind meine endgültigen Codes:

/app/code/local/MyCompany/MultiSlider/Model/Resource/Eav/Mysql4/Setup.php

<?php
class MyCompany_MultiSlider_Model_Resource_Eav_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup
{
    public function getDefaultEntities()
    {
        return array(
            'catalog_product' => array(
                'entity_model'      => 'catalog/product',
                'attribute_model'   => 'catalog/resource_eav_attribute',
                'table'             => 'catalog/product',
                'attributes'        => array(
                            'myattribcode' => array(
                                'group'             => 'Group/Tab',
                                'label'             => 'My Attrib Label',
                                'type'              => 'int',
                                'input'             => 'boolean',
                                'default'           => '0',
                                'class'             => '',
                                'backend'           => '',
                                'frontend'          => '',
                                'source'            => '',
                                'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
                                'visible'           => true,
                                'required'          => false,
                                'user_defined'      => false,
                                'searchable'        => false,
                                'filterable'        => false,
                                'comparable'        => false,
                                'visible_on_front'  => false,
                                'visible_in_advanced_search' => false,
                                'unique'            => false
                            ),

               )
        ),
             // define attributes for other model entities here
      );
    }
}

/app/code/local/MyCompany/MultiSlider/sql/multislider_setup/mysql4-install-1.2.3.php

<?php
$installer = $this;

$installer->installEntities();

/app/code/local/MyCompany/MultiSlider/Helper/Data.php

<?php
class MyCompany_MultiSlider_Helper_Data extends Mage_Core_Helper_Abstract
{
}

/app/code/local/MyCompany/MultiSlider/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <MyCompany_MultiSlider>
      <version>1.2.3</version>
    </MyCompany_MultiSlider>
  </modules>
  <global>

    <helpers>
      <multislider>
        <class>MyCompany_MultiSlider_Helper</class>
      </multislider>
    </helpers>
    <models>
          <multislider>
              <class>MyCompany_MultiSlider_Model</class>
          </multislider>
    </models>

    <resources>

          <multislider_setup>
              <setup>
                  <module>MyCompany_MultiSlider</module>
                  <class>MyCompany_MultiSlider_Model_Resource_Eav_Mysql4_Setup</class>
              </setup>
              <connection>
                  <use>core_setup</use>
              </connection>
          </multislider_setup>

          <multislider_write>
              <connection>
                  <use>core_write</use>
              </connection>
          </multislider_write>

          <multislider_read>
              <connection>
                  <use>core_read</use>
              </connection>
          </multislider_read>

      </resources>
  </global>
</config>

Beispiel: Attributzeile Name in der Tabelle eav_attribute:

# attribute_id, entity_type_id, attribute_code, attribute_model, backend_model, backend_type, backend_table, frontend_model, frontend_input, frontend_label, frontend_class, source_model, is_required, is_user_defined, default_value, is_unique, note

'71', '4', 'name', NULL, NULL, 'varchar', NULL, NULL, 'text', 'Name', NULL, NULL, '1', '0', NULL, '0', NULL

Tabelle eav_attribute

# attribute_group_id, attribute_set_id, attribute_group_name, sort_order, default_id
'1', '1', 'General', '1', '1'
'2', '2', 'General', '1', '1'
'3', '3', 'General', '10', '1'
'4', '3', 'General Information', '2', '0'
'5', '3', 'Display Settings', '20', '0'
'6', '3', 'Custom Design', '30', '0'
'7', '4', 'General', '1', '1'
'8', '4', 'Prices', '2', '0'
'9', '4', 'Meta Information', '3', '0'
'10', '4', 'Images', '4', '0'
'11', '4', 'Recurring Profile', '5', '0'
'12', '4', 'Design', '6', '0'
'13', '5', 'General', '1', '1'
'14', '6', 'General', '1', '1'
'15', '7', 'General', '1', '1'
'16', '8', 'General', '1', '1'
'17', '4', 'Gift Options', '7', '0'
'18', '4', 'Group/Tab', '8', '0'

Das Problem ist nun, dass die Registerkarten der Produktseite immer noch nicht angezeigt und keine Attribute hinzugefügt werden, selbst wenn ich dieses Modul deaktiviere (und neu indiziere, mich abmelde, mich anmelde, neu speichere). Wie kann ich dieses Problem lösen?

Chamich
quelle
Stellen Sie ein Backup wieder her und versuchen Sie es erneut
Jeroen
2
@ Jeroen Das ist keine Lösung
Chamich
1
@Jeroen Ja, das Set ist fertig. Alle Produktattribute sind vorhanden. Beispiel: Das Produktname-Attribut lautet: # attribute_id, entity_type_id, attribute_code, attribute_model, backend_model, backend_type, backend_table, frontend_model, frontend_input, frontend_label, frontend_class, source_model, is_required, is_user_define '71', '4', 'name', NULL, NULL, 'varchar', NULL, NULL, 'text', 'Name', NULL, NULL, '1', '0', NULL, '0', NULL ... siehe die aktualisierte Frage
Chamich
1
Ich hatte also ein Wochenende zum Nachdenken, wie wäre es mit Attributgruppen? eav_attribute_groups, alles in Takt und vollständig? oder über Katalog / Attribut / Attribut-Sets verwalten
Jeroen
1
@Jeroen Ich hatte also ein Wochenende Zeit, um ein neues Magento-Backup wiederherzustellen: D. Wie auch immer, lassen Sie uns das lösen. Ich habe gerade die Frage aktualisiert, indem ich den Tabelleninhalt von eav_attribute_groups hinzugefügt habe.
Chamich

Antworten:

3

Auf dieser Seite sehen Sie einen Abschnitt, der besagt (in Schritt 4: Definieren Sie Ihre Entitäten):

"Vergessen Sie in Magento 1.4 nicht, die folgenden Zeilen hinzuzufügen. Zwischen den Elementen 'Tabelle' und 'Attribute' .;)

'additional_attribute_table' => 'catalog/eav_attribute',
'entity_attribute_collection' => 'catalog/product_attribute_collection',

Andernfalls werden die Registerkarten Allgemein, Meta, Bilder, ... nicht auf der Produktbearbeitungsseite angezeigt. ""

Wenn Sie es nicht bereits über ein Backup behoben hätten, hätten Sie die beiden folgenden Zeilen hinzufügen können

'table' => 'catalog/product',

Führen Sie das Skript erneut aus, indem Sie die Tabelle core_resourses auf die erforderliche Version aktualisieren, damit das Skript erneut ausgeführt wird.

James Anelay - TheExtensionLab
quelle