Номера версий Magento всегда помогают при отладке проблем с Mangeto. Кроме того, где находится Android (ваш тег)?
Предположим, что следующая строка вызывает проблемы в вашей системе.
$pager = $this->getLayout()->createBlock('page/html_pager', 'sales.order.history.pager')
->setCollection($this->getOrders());
Magento пытается создать объект блока page/html_pager
(который, при условии отсутствия переопределений, соответствует Mage_Page_Block_Html_Pager).
В работающей системе это делается с помощью следующего вызова.
$this->getLayout()->createBlock('page/html_pager', 'sales.order.history.pager')
который возвращает объект Block, а затем вызывается метод setCollection блока
->setCollection($this->getOrders());
Однако в вашей системе метод createBlock не возвращает объект, и я предполагаю, что он возвращает логическое значение. Взгляните на начало метода createBlock класса Layout.
#File: app/code/core/Mage/Core/Model/Layout.php
public function createBlock($type, $name='', array $attributes = array())
{
try {
$block = $this->_getBlockInstance($type, $attributes);
} catch (Exception $e) {
Mage::logException($e);
return false;
}
Итак, ваша система была изменена или настроена таким образом, что попытки создать блок page/html_pager
вызывают исключение. Проверьте свой журнал исключений Magento, чтобы узнать, какие ошибки регистрируются, или просто временно добавьте var_dump
try {
$block = $this->_getBlockInstance($type, $attributes);
} catch (Exception $e) {
var_dump($e->getMessage()); //don't forget to remove me before pushing
//to production
Mage::logException($e);
return false;
}
Что касается того, что делает этот код и как он повлияет на вашу систему, метод setCollection
добавляет объект коллекции (массив, подобный объекту моделей) к вашему объекту Block. Без коллекции ваш блок пейджера (скорее всего) не будет отображаться правильно.
person
Alan Storm
schedule
11.12.2010
setCollection
, что говорит о том, что в вашем файле чего-то не хватает. - person clockworkgeek   schedule 11.12.2010