As guias da página do produto desapareceram no administrador após tentar adicionar um novo atributo do produto

8

Eu apenas segui as instruções neste link para adicionar um novo atributo do produto. Depois disso, a maioria das guias do meu produto desapareceu.

insira a descrição da imagem aqui

Aqui estão meus códigos finais:

/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>

Como exemplo, linha de atributo Nome na tabela 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

tabela 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'

Agora, o problema é que, mesmo que eu desabilite este módulo (e reindexe, faça logout, logon, recache), as guias da página do produto ainda não serão exibidas e nenhum atributo será adicionado. Como posso resolver este problema?

chamich
fonte
restaurar um backup e tente novamente
Jeroen
2
@Jeroen Isso não é uma solução
chamich
11
@Jeroen Sim, o conjunto está completo. Todos os atributos do produto estão lá, como exemplo, aqui está o atributo do nome do produto: # 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_value, '71', '4', 'name', NULL, NULL, 'varchar', NULL, NULL, 'text', 'Name', NULL, NULL, '1', '0', NULL, '0', NULL ... ver a questão atualizados
chamich
11
Então, eu tive um fim de semana para pensar, que tal grupos de atributos? eav_attribute_groups, tudo intacto e completo? ou via Catálogo / Atributo / Gerenciar conjuntos de atributos
Jeroen
11
@ Jeroen Então, eu tive um fim de semana para recuperar um novo backup do Magento: D. De qualquer forma, vamos resolver isso. Acabei de atualizar a questão bt adicionando o conteúdo da tabela eav_attribute_groups.
chamich 17/03/2015

Respostas:

3

Nessa página, você pode ver uma seção que diz (na Etapa 4: Definir suas entidades):

"No Magento 1.4, não se esqueça de adicionar as seguintes linhas. Entre os elementos 'table' e 'attribute'.;)

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

Sem isso, as guias Geral, Meta, Imagens, ... não serão exibidas na página de edição do produto. "

Se você ainda não o tivesse corrigido por meio de um backup, poderia ter adicionado as duas linhas abaixo

'table' => 'catalog/product',

E execute novamente o script, atualizando a tabela core_resourses para a versão necessária para fazer com que o script seja executado novamente.

James Anelay - TheExtensionLab
fonte