Php 应用补丁6788后,Magento Intenso主题重新索引错误

Php 应用补丁6788后,Magento Intenso主题重新索引错误,php,magento,themes,Php,Magento,Themes,我已经安装了带有Intenso主题的Magento,最近他们发布了一个新补丁,打破了很多东西。补丁号码是6788 当我尝试重新索引Intenso主题SEO索引时,它抛出了一个错误。错误日志如下所示: 2015-10-29T01:19:26+00:00 DEBUG (7): Exception message: SQLSTATE[42S22]: Column not found: 1054 Unknown column '`main_table`.`frontend_input`' in 'whe

我已经安装了带有Intenso主题的Magento,最近他们发布了一个新补丁,打破了很多东西。补丁号码是6788

当我尝试重新索引Intenso主题SEO索引时,它抛出了一个错误。错误日志如下所示:

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}

似乎它没有正确地构建查询。但是我不知道构建查询的代码在哪里,有人能给我指一下吗?

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;
}

可能是由于一个MySQL注入问题,该问题已被Magento修补掉,需要Intenso进行交互更新才能完成此项工作。他们的支持论坛就在这里=>是的,但我认为intenso目前没有提供解决方案。因此,我可能需要找到代码并自行修改。