2015-03-03 5 views
0

После добавления настраиваемого продукта я не могу просмотреть эту категорию в своем интерфейсе.Ошибка Magento при выпуске продукта после добавления настраиваемого продукта

Я просто получаю следующее сообщение об ошибке:

There has been an error processing your request.

Это то, что я пытался без посторонней помощи:

  1. Удаляется продукт, который сделал эту проблему.
  2. Удалено атрибут для настраиваемого элемента из всех наборов атрибутов.
  3. Flushed Cache Удаляет все другие продукты в категории.
  4. Добавлен новый продукт в этой категории Изменен шаблонов по умолчанию

Даже после того, как все, что до сих пор я не могу перечислить эту категорию без ошибок. Если он пуст, он появляется без ошибок, и если я делаю продукт в другой категории, он работает хорошо. Magento версия 1.9.0.1

Журнал ошибок, как это:

a:5:{i:0;s:1223:"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`tax_class_id WHEN 2 THEN  0`.`2500 WHEN 5 THEN  0`.`1500 ELSE 0 END' at line 2, query was: SELECT FLOOR((ROUND(((e.min_price +(e.min_price*CASE e.tax_class_id WHEN 2 THEN  0.2500 WHEN 5 THEN  0.1500 ELSE 0 END))) * 1, 2))/100) + 1 AS `range`, COUNT(*) AS `count` FROM `catalog_product_index_price` AS `e` 
 
INNER JOIN `catalog_category_product_index` AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id=1 AND cat_index.visibility IN(2, 4) AND cat_index.category_id = '3' WHERE (e.website_id = '1') AND (e.customer_group_id = 0) AND ((e.min_price +(e.min_price*CASE e.tax_class_id WHEN 2 THEN  0.2500 WHEN 5 THEN  0.1500 ELSE 0 END)) IS NOT NULL) GROUP BY FLOOR((ROUND(((e.min_price +(e.min_price*CASE e.tax_class_id WHEN 2 THEN  0.2500 WHEN 5 THEN  0.1500 ELSE 0 END))) * 1, 2))/100) + 1 ORDER BY `FLOOR((ROUND(((e`.`min_price +(e`.`min_price*CASE e`.`tax_class_id WHEN 2 THEN  0`.`2500 WHEN 5 THEN  0`.`1500 ELSE 0 END))) * 1, 2))/100) + 1` ASC";i:1;s:4946:"#0 /home/31/w266847/www/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
 
#1 /home/31/w266847/www/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
 
#2 /home/31/w266847/www/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) 
 
#3 /home/31/w266847/www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT FLOOR((R...', Array) 
 
#4 /home/31/w266847/www/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT FLOOR((R...', Array) 
 
#5 /home/31/w266847/www/lib/Zend/Db/Adapter/Abstract.php(811): Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array) 
 
#6 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Price.php(274): Zend_Db_Adapter_Abstract->fetchPairs(Object(Varien_Db_Select)) 
 
#7 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php(158): Mage_Catalog_Model_Resource_Layer_Filter_Price->getCount(Object(Mage_Catalog_Model_Layer_Filter_Price), 100) 
 
#8 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php(115): Mage_Catalog_Model_Layer_Filter_Price->getRangeItemCounts(100) 
 
#9 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php(314): Mage_Catalog_Model_Layer_Filter_Price->getPriceRange() 
 
#10 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Abstract.php(151): Mage_Catalog_Model_Layer_Filter_Price->_getItemsData() 
 
#11 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Abstract.php(120): Mage_Catalog_Model_Layer_Filter_Abstract->_initItems() 
 
#12 /home/31/w266847/www/app/code/core/Mage/Catalog/Model/Layer/Filter/Abstract.php(109): Mage_Catalog_Model_Layer_Filter_Abstract->getItems() 
 
#13 /home/31/w266847/www/app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php(132): Mage_Catalog_Model_Layer_Filter_Abstract->getItemsCount() 
 
#14 /home/31/w266847/www/app/code/core/Mage/Catalog/Block/Layer/View.php(218): Mage_Catalog_Block_Layer_Filter_Abstract->getItemsCount() 
 
#15 /home/31/w266847/www/app/code/core/Mage/Catalog/Block/Layer/View.php(233): Mage_Catalog_Block_Layer_View->canShowOptions() 
 
#16 /home/31/w266847/www/app/design/frontend/base/default/template/catalog/layer/view.phtml(34): Mage_Catalog_Block_Layer_View->canShowBlock() 
 
#17 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(241): include('/home/31/w26684...') 
 
#18 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/base/d...') 
 
#19 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView() 
 
#20 /home/31/w266847/www/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml() 
 
#21 /home/31/w266847/www/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml() 
 
#22 /home/31/w266847/www/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Text_List->_toHtml() 
 
#23 /home/31/w266847/www/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml() 
 
#24 /home/31/w266847/www/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('left', true) 
 
#25 /home/31/w266847/www/app/design/frontend/default/hellowired/template/page/3columns.phtml(48): Mage_Core_Block_Abstract->getChildHtml('left') 
 
#26 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(241): include('/home/31/w26684...') 
 
#27 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/defaul...') 
 
#28 /home/31/w266847/www/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView() 
 
#29 /home/31/w266847/www/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml() 
 
#30 /home/31/w266847/www/app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml() 
 
#31 /home/31/w266847/www/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput() 
 
#32 /home/31/w266847/www/app/code/core/Mage/Catalog/controllers/CategoryController.php(161): Mage_Core_Controller_Varien_Action->renderLayout() 
 
#33 /home/31/w266847/www/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Catalog_CategoryController->viewAction() 
 
#34 /home/31/w266847/www/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('view') 
 
#35 /home/31/w266847/www/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
 
#36 /home/31/w266847/www/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 
 
#37 /home/31/w266847/www/app/Mage.php(684): Mage_Core_Model_App->run(Array) 
 
#38 /home/31/w266847/www/index.php(87): Mage::run('', 'store') 
 
#39 {main}";s:3:"url";s:29:"/kjaeledyr/hund/hundefor.html";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";}

+0

Добавлен пронумерованный список для лучшей читаемости – Andrea

ответ

0

Я получил эту точную проблему и хотел ударить его, просто чтобы узнать, как решить Это. У меня точно такая же версия Magento.

Если вы удалите код из этого шаблона,

/home/31/w266847/www/app/design/frontend/base/default/template/catalog/layer/view.phtml(34): Mage_Catalog_Block_Layer_View -> canShowBlock(), он будет работать, но я не могу понять, какая часть его убивает.

1

Я была такая же проблема, и обнаружил, что-то странное в запросе:

Есть много назад клещей в операторе SQL, но, как только те удалены, SQL оператор побежал прекрасно.

В следующем запросе:

SELECT FLOOR((ROUND(((e.min_price -(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END)+((e.min_price-(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))) * 1, 2))/10) + 1 AS `range`, COUNT(*) AS `count` FROM `catalog_product_index_price` AS `e` 
INNER JOIN `catalog_category_product_index` AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id=1 AND cat_index.visibility IN(2, 4) AND cat_index.category_id = '16' AND cat_index.is_parent=1 WHERE (e.website_id = '1') AND (e.customer_group_id = '1') AND ((e.min_price -(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END)+((e.min_price-(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END)) IS NOT NULL) GROUP BY FLOOR((ROUND(((e.min_price -(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END)+((e.min_price-(e.min_price/(1+(CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))*CASE e.tax_class_id WHEN 2 THEN  0.2000 WHEN 4 THEN  0.2000 ELSE 0 END))) * 1, 2))/10) + 1 ORDER BY `FLOOR((ROUND(((e`.`min_price -(e`.`min_price/(1+(CASE e`.`tax_class_id WHEN 2 THEN  0`.`2000 WHEN 4 THEN  0`.`2000 ELSE 0 END))*CASE e`.`tax_class_id WHEN 2 THEN  0`.`2000 WHEN 4 THEN  0`.`2000 ELSE 0 END)+((e`.`min_price-(e`.`min_price/(1+(CASE e`.`tax_class_id WHEN 2 THEN  0`.`2000 WHEN 4 THEN  0`.`2000 ELSE 0 END))*CASE e`.`tax_class_id WHEN 2 THEN  0`.`2000 WHEN 4 THEN  0`.`2000 ELSE 0 END))*CASE e`.`tax_class_id WHEN 2 THEN  0`.`2000 WHEN 4 THEN  0`.`2000 ELSE 0 END))) * 1, 2))/10) + 1` ASC 

Вопрос придет, как только он попадает в последнюю часть:

ORDER BY `FLOOR 

Спинка клеща была неуместны на мой взгляд.

Я решил ее путем редактирования файла Price.php на линии 272

из $select->group($rangeExpr)->order("$rangeExpr ASC");

в $select->group($rangeExpr)->order($rangeExpr);

+0

Hi Оливье; Добро пожаловать в переполнение стека. Раздел ответов предназначен только для ответов на исходный вопрос, а не на комментарии. – Celeo

+0

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

+0

Я сформировал его как ответ только для вас.Все еще не уверен, что он не будет помечен. –

Смежные вопросы