Magento Özel Backend modülü Izgara sıralama / filtre sorunu

0 Cevap php

Ben, ızgara ince yükler ben bir özel öznitelik dayalı müşterilerin listesini göstermek özel bir yönetici modülü üzerinde çalışıyorum ama ben ızgarayı filtre / sıralamak çalışın zaman sonra sorunlar yaşıyorum.

Bu ben alıyorum hatadır:

Fatal error:  Call to a member function toHtml() on a non-object in <b>/***/***/public_html/***/app/code/local/BelVG/Events/controllers/CodesController.php</b> on line <b>28</b>

Bu CodesController dosyasında hataya neden kodu:

public function customerGridAction() {
    $this->loadLayout();
    $this->getResponse()->setBody($this->getLayout()->getBlock('events.codes.edit.customer')->toHtml());
}

XML layout file:

<events_codes_edit>
    <reference name="content">
        <block type="events/codes_edit" name="events.codes.edit" template="events/codes/edit.phtml">
        <block type="events/codes_edit_customer" name="events.codes.edit.customer" as="customer"/>
         </block>
    </reference>
</events_codes_edit>

<events_codes_edit_customergrid>
    <remove name="root"/>
    <block type="events/codes_edit_customer" name="events.codes.edit.customer" as="events.codes.edit.customer"/>
</events_codes_edit_customergrid></code>

Class file for the Grid:

class BelVG_Events_Block_Codes_Edit_Customer extends Mage_Adminhtml_Block_Widget_Grid
{

public function __construct() {
    parent::__construct();
    $this->setId('events_codes_edit_product');
    $this->setUseAjax(true);
    $this->setDefaultSort('entity_id');
    $this->setDefaultDir('asc');
    $this->setSaveParametersInSession(true);
}

protected function _prepareCollection()
{
    $current_code = Mage::registry('current_code');
    $code = $current_code->getCode();
    $collection = Mage::getResourceModel('customer/customer_collection')
        ->addNameToSelect()
        ->addAttributeToSelect('email')
        ->addAttributeToSelect('i_code')
        ->addAttributeToSelect('gender')
        ->addFieldToFilter('i_code', $code)
        ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
        ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
        ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
        ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
        ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');

    $this->setCollection($collection);

    return parent::_prepareCollection();
}

 protected function _prepareColumns() {
    $this->addColumn('entity_id', array(
        'header'    => Mage::helper('customer')->__('ID'),
        'width'     => '50px',
        'index'     => 'entity_id',            
        'type'  => 'number'
    ));
    $this->addColumn('name', array(
        'header'    => Mage::helper('customer')->__('Name'),
        'index'     => 'name'
    ));
    $this->addColumn('email', array(
        'header'    => Mage::helper('customer')->__('Email'),
        'width'     => '150',
        'index'     => 'email'
    ));
    $this->addColumn('Telephone', array(
        'header'    => Mage::helper('customer')->__('Telephone'),
        'width'     => '100',
        'index'     => 'billing_telephone'
    ));

    $this->addColumn('billing_postcode', array(
        'header'    => Mage::helper('customer')->__('ZIP'),
        'width'     => '90',
        'index'     => 'billing_postcode'
    ));

    $this->addColumn('billing_country_id', array(
        'header'    => Mage::helper('customer')->__('Country'),
        'width'     => '100',
        'index'     => 'billing_country_id'
    ));

    $this->addColumn('billing_region', array(
        'header'    => Mage::helper('customer')->__('State/Province'),
        'width'     => '100',
        'index'     => 'billing_region'
    ));

    $this->addColumn('gender', array(
        'header'    => Mage::helper('customer')->__('Gender'),
        'align'     => 'center',
        'index'     => 'gender'
    ));


    return parent::_prepareColumns();
}

public function getGridUrl() {
    return $this->getUrl('*/*/customergrid', array('_current'=> true));
}

}

Bu grid ilk Edit.php başka bir blok, içeride denir ve bir şablon dosya edit.phtml itibaren denir

Edit.php block class:

class BelVG_Events_Block_Codes_Edit extends Mage_Core_Block_Template {

    public function getGridHtml() {
        return $this->getChild('customer')->toHtml();
    }

}

Code for calling the customer grid inside edit.phtml:

<div id="" class="fieldset">
        <div class="hor-scroll">
            <?php echo $this->getGridHtml() ?>
        </div>
</div>

Bu neden oluyor ben çift denetleyicisi blok adını kontrol ve düzen dosyalar var, hiçbir fikrim yok ve onlar ben bile yerine getBlock arasında createBlock () () kullanmaya çalıştı ve bloğuna doğrudan işaret, eşleştirme gibi görünüyor dosya, ama yine de aynı hatayı gösterdi.

Herkes bana doğru yönde işaret edebilir?

0 Cevap