我正在开发一个Magento模块,该模块有一个用户必须输入订单号的表单。因此,我在表单中包含一个按钮,打开一个显示订单列表的弹出窗口。
继承人所做的一切 这是打开弹出窗口的按钮的代码
<button type="button" class="form-button" onclick="window.open(\''
.Mage::helper("adminhtml")->getUrl('*/inventory_receipt/selectOrder',array()
.'\',\'\',\'height=500,width=550\');"><span>'
.Mage::helper('adminhtml')->__('Lookup Order')
.'</span></button>
然后我在控制器中创建了一个selectOrder Action,它显示的网格几乎与销售/订单中的网格相似(刚刚从销售/订单中修改了Grid.php)。
现在我要实现的是当用户点击订单时,应使用所选订单号填充父表单并关闭弹出窗口。 有关如何完成这项工作的任何帮助吗?任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用弹出窗口中的javascript window.opener引用在原始文档中执行javascript。
但也许最好不要使用window.open弹出窗口,而是使用某种html图层。
答案 1 :(得分:0)
这是我最终做的事情。 我按照here上的步骤创建了一个额外的列,其中包含一个填充父窗口的按钮。 代码相同如下
public function render(Varien_Object $row)
{
return '<button type="button" class="form-button" onclick="opener.document.getElementById(\'reference_id\').value='.$row->getIncrementId().'; window.close();"><span>'
.Mage::helper('adminhtml')->__('Select Order')
.'</span></button>';
}