0
我创建了一个collection.php
模型,并增加了一个addOrderFilter()
功能,但是当我尝试调用addOrderFilter()
在我的PHTML文件,它给了我为什么我的功能不能在phtml文件中工作?
Fatal error: Call to a member function addOrderFilter() on boolean in [...]\magento\app\design\adminhtml\default\default\template\paketid\shipping.phtml on line 5
这是我shipping.phtml
:
<?php echo $this->getChildHtml('PaketId_Shipping');?>
<h1>Test custom block</h1>
<?php $order = $this->getOrder()?>
<?php $shipping = Mage::getModel('paketid_shipping/result')->getCollection()->addOrderFilter($order) ?>
<?php if(count($shipping)):
foreach($shipping as $shipping): ?>
<?php echo $this->__('Booking Code') ;?>
<?php echo $shipping->getBookingCode(); ?>
<?php endforeach; ?>
<?php endif; ?>
我的collection.php
型号:
class PaketId_Shipping_Model_Resource_Result_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
protected $order;
protected function _construct()
{
$this->_init('paketid_shipping/result');
}
public function addOrderFilter($order)
{
if ($order instanceof Mage_Sales_Model_Order) {
$order = (int) $order->getId();
}
if (!is_array($order)) {
$order = array($order);
}
$this->getSelect()->where("main_table.order_id IN (?)", $order);
//$this->getSelect()->where("main_table.order_id IN (?)", $order)->order('id DESC');
return $this;
}
令人困惑的部分是,为什么我的phtml不会渲染我的collection
模型?难道我做错了什么 ?
它给我'布尔(假)'当我尝试'的var_dump(法师:: 'paketid_shipping /结果') - > getCollection( )'和我得到同样的错误,当尝试将我的代码更改为'Mage :: getResourceModel('paketid_shipping/result_collection') - > addOrderFilter($ order);' – may
我没有'确保magento未在编译模式下运行'部分:( – may