Не знаю, как распознать эту ошибку, я уже неделю гуглю и не могу найти решение. Есть идеи?
2013-06-10T04:04:28+00:00 ERR (3):
exception 'Mage_Core_Exception' with message 'Invalid block type: ' in /home/xxxxxxx/public_html/app/Mage.php:594
Stack trace:
#0 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(495): Mage::throwException('Invalid block t...')
#1 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(437): Mage_Core_Model_Layout->_getBlockInstance('', Array)
#2 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('', 'checkout.cart')
#3 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('', 'checkout.cart')
#4 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#5 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#6 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(344): Mage_Core_Model_Layout->generateBlocks()
#7 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#8 /home/xxxxxxx/public_html/app/code/core/Mage/Checkout/controllers/CartController.php(159): Mage_Core_Controller_Varien_Action->loadLayout()
#9 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Checkout_CartController->indexAction()
#10 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index')
#11 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 /home/xxxxxxx/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#13 /home/xxxxxxx/public_html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#14 /home/xxxxxxx/public_html/index.php(89): Mage::run('', 'store')
#15 {main}
источник
<block name="checkout.cart">
вместо<reference name="checkout.cart">
. Я видел это в нескольких темах, которые есть в интернете (бесплатно или платно). Простой поиск вlayout
папке темы должен подтвердить (или отклонить) эту теорию.reference
тег не вызовет этот стек вызовов -createBlock
вызывается, что означает егоblock
тег.С помощью комментариев из моего исходного поста я смог отследить обидевший код!
Вот фрагмент кода, который вызывал исключение:
Пересмотренный код больше не вызывает исключений:
источник
Мне удалось решить мои проблемы, просто удалив старые блоки. Я сделал это путем:
Добавление строки
Mage::log($className . ' - ' $blockName, null, 'logfile.log');
в функцию _generateBlock в /app/code/core/Mage/Core/Model/Layout.phpВот так:
Затем я удалил блоки, добавив следующую строку в мой файл local.xml в моей теме / макете
Надеюсь, это кому-нибудь поможет. Не могу вынести всю хрень, написанную в моем файле exceptions.log.
ОБНОВИТЬ:
Я обнаружил, что использование этого кода непосредственно перед возвратом $ this в функции _generateBlock в /app/code/core/Mage/Core/Model/Layout.php
очевидно, замените «HTTP_X_FORWARDED_FOR» на «REMOTE_ADDR», если вам тоже нужно.
ОБНОВЛЕНИЕ 2
Я обнаружил, что проблема с моим сайтом не так:
чуть выше 'Mage :: throwException (Mage :: helper (' core ') -> __ (' Недопустимый тип блока:% s ', $ block));' в функции «_getBlockInstance» в файле «/app/code/core/Mage/Core/Model/Layout.php»
источник