此方法在管理控制器(网格序列化程序)中在哪里执行


    <?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();
    }

我正在遵循这个网格序列化器图特.我只是不明白这套客户是从哪里来的?

即使在其他 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。

__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");

最新更新