2013-07-10 83 views
0
<?php 

class Excellence_Manager_Adminhtml_ManagerController extends Mage_Adminhtml_Controller_action 
{ 

    public function customerAction(){ 
     $this->loadLayout(); 
     $this->getLayout()->getBlock('customer.grid') 
     ->setCustomers($this->getRequest()->getPost('customers', null)); 
     $this->renderLayout(); 
    } 

我正在关注this grid serializer tute。我无法理解这套客户来自哪里?这个方法在管理控制器(Grid Serializer)中做什么?

即使在其他tutes中,我看到了setClent(),setDog()等等。但是哪里得到或它不是来自数据库。不是我认为的布局。请帮忙谢谢。

<manager_adminhtml_manager_customer> 
    <block type="core/text_list" name="root" output="toHtml"> 
     <block type="manager/adminhtml_manager_edit_tab_grid" name="customer.grid"/> 
     <block type="adminhtml/widget_grid_serializer" name="grid_serializer"> 
      <reference name="grid_serializer"> 
       <action method="initSerializerBlock"> 
        <grid_block_name>customer.grid</grid_block_name> 
        <data_callback>getSelectedCustomers</data_callback> 
        <hidden_input_name>links[customers]</hidden_input_name> 
        <reload_param_name>customers</reload_param_name> 
       </action> 
       <action method="addColumnInputName"> 
        <input_name>position</input_name> 
       </action> 
      </reference> 
     </block> 
    </block> 

我发现它不是从hidden_​​input_name或reload_param_name。

回答

0
__set() is run when writing data to inaccessible properties. 

__get() is utilized for reading data from inaccessible properties. 

Magento实现了所谓的“魔术方法”来设置对象中的数据。 他们实施__set__get这是调用,当没有方法为例如。找到setCustomers(),并用这些方法去做setData('customers', "YOUR_VALUE");

相关问题