2015-10-29 2 views
1

У меня есть Magento с установленным Intenso Тема и недавно у них есть новый патч вышел, который ломает много вещей. Пластырь номер 6788Magento Intenso Тема переиндексации Ошибка после применения патча 6788

При попытке проиндексировать индекс Тема SEO Intenso, он выдает ошибку. Журнал ошибок выглядит следующим образом:

2015-10-29T01:19:26+00:00 DEBUG (7): Exception message: SQLSTATE[42S22]: Column not found: 1054 Unknown column '`main_table`.`frontend_input`' in 'where clause', query was: SELECT `main_table`.*, `additional_table`.* FROM `eav_attribute` AS `main_table` 
INNER JOIN `catalog_eav_attribute` AS `additional_table` ON additional_table.attribute_id = main_table.attribute_id WHERE (`main_table`.`entity_type_id` = '4') AND (```main_table```.```frontend_input``` IN('select', 'multiselect')) 
Trace: #0 /var/www/html/magento/includes/src/Varien_Db_Statement_Pdo_Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
#1 /var/www/html/magento/includes/src/__default.php(84622): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
#2 /var/www/html/magento/includes/src/__default.php(73947): Zend_Db_Statement->execute(Array) 
#3 /var/www/html/magento/includes/src/__default.php(74990): Zend_Db_Adapter_Abstract->query('SELECT `main_ta...', Array) 
#4 /var/www/html/magento/includes/src/__default.php(75850): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `main_ta...', Array) 
#5 /var/www/html/magento/includes/src/__default.php(74204): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `main_ta...', Array) 
#6 /var/www/html/magento/includes/src/__default.php(32544): Zend_Db_Adapter_Abstract->fetchAll('SELECT `main_ta...', Array) 
#7 /var/www/html/magento/includes/src/__default.php(33170): Varien_Data_Collection_Db->_fetchAll('SELECT `main_ta...', Array) 
#8 /var/www/html/magento/includes/src/__default.php(32376): Mage_Core_Model_Resource_Db_Collection_Abstract->getData() 
#9 /var/www/html/magento/includes/src/__default.php(31729): Varien_Data_Collection_Db->load() 
#10 /var/www/html/magento/includes/src/Itactica_LayeredNavigation_Model_Resource_Indexer_Attribute.php(49): Varien_Data_Collection->getIterator() 
#11 /var/www/html/magento/includes/src/Itactica_LayeredNavigation_Model_Resource_Indexer_Attribute.php(33): Itactica_LayeredNavigation_Model_Resource_Indexer_Attribute->reindexSeoUrlKeys() 
#12 /var/www/html/magento/includes/src/Mage_Index_Model_Indexer_Abstract.php(143): Itactica_LayeredNavigation_Model_Resource_Indexer_Attribute->reindexAll() 
#13 /var/www/html/magento/includes/src/Mage_Index_Model_Process.php(212): Mage_I 
#14 /var/www/html/magento/includes/src/Mage_Index_Model_Process.php(260): Mage_I 
#15 /var/www/html/magento/app/code/core/Mage/Index/controllers/Adminhtml/Process 
#16 /var/www/html/magento/includes/src/__default.php(419): Mage_Index_Adminhtml_ 
#17 /var/www/html/magento/includes/src/__default.php(18922): Mage_Core_Controlle 
#18 /var/www/html/magento/includes/src/__default.php(18452): Mage_Core_Controlle 
#19 /var/www/html/magento/includes/src/__default.php(21292): Mage_Core_Controlle 
#20 /var/www/html/magento/app/Mage.php(684): Mage_Core_Model_App->run(Array) 
#21 /var/www/html/magento/index.php(87): Mage::run('', 'store') 
#22 {main} 

Похоже, что он неправильно строит запрос. Но я не знаю, где код, который строит запрос: Может ли кто-нибудь указать мне его?

+0

Вероятно, это связано с вопросом инъекции MySQL который был исправлен из Magento и нуждается в взаимном обновлении от Intenso, чтобы закончить работу. Их форум поддержки здесь => http://support.getintenso.com/support/discussions –

+0

Да, но я не думаю, что Intenso обеспечивает исправление для него в данный момент. Поэтому мне может потребоваться найти код и изменить самостоятельно. –

ответ

1

Обновление Intenso для 1.9.2.2 и SUPEE-6788 патч доступен уже сейчас.

Вопрос индексатор может быть решена путем изменения следующий файл: app/code/local/Itactica/LayeredNavigation/Model/Resource/Indexer/Attribute.php

Изменить эту функцию:

protected function _getAttributes($attributeId = null) 
{ 
    $collection = Mage::getSingleton('eav/config') 
     ->getEntityType(Mage_Catalog_Model_Product::ENTITY) 
     ->getAttributeCollection() 
     ->addFieldToFilter('`main_table`.`frontend_input`', array('in' => array('select', 'multiselect'))); 
    if (!empty($attributeId)) { 
     $collection->addFieldToFilter('`main_table`.`attribute_id`', $attributeId); 
    } 
    return $collection; 
} 

Для этого:

protected function _getAttributes($attributeId = null) 
{ 
    $collection = Mage::getSingleton('eav/config') 
     ->getEntityType(Mage_Catalog_Model_Product::ENTITY) 
     ->getAttributeCollection() 
     ->addFieldToFilter('frontend_input', array('in' => array('select', 'multiselect'))); 
    if (!empty($attributeId)) { 
     $collection->addFieldToFilter('attribute_id', $attributeId); 
    } 
    return $collection; 
} 
Смежные вопросы