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