gpt4 book ai didi

javascript - 带有 javascript 操作列的 Magento adminhtml 网格

转载 作者:行者123 更新时间:2023-11-30 12:55:16 26 4
gpt4 key购买 nike

我正在设计一个基于我自己的模型的自定义 adminhtml 网格,我已经向网格添加了一个操作列,我希望能够单击它以将一些文本复制到剪贴板。

所以在 Grid.php 的 _prepareColumns() 函数中,我添加了操作列,如下所示:

$this->addColumn('action',array(
'header' => Mage::helper('sales')->__('To Clipboard'),
'width' => '5%',
'type' => 'action',
'getter' => 'getId',
'actions' => array(
array(
'caption' => Mage::helper('sales')->__('Copy'),
'url' => array('base'=>'*/*/toclipboard'),
'field' => 'id'
)
),
'filter' => false,
'sortable' => false,
'is_system' => true,
)
);

我可能需要使用 Javascript 来执行此操作,但我不太确定如何使用。奇怪的是,使用上面的方法也会导致页面重新加载,即使我已经成功地将 $this->setUseAjax(true); 添加到 __construct();

希望能提供一些意见。

最佳答案

您可以在这里做一些有趣的事情。主要是,您需要引用 Action rendererGrid Javascript .您现在拥有的代码应该在操作列中呈现单个链接。但是,如果您提供一系列操作,这将变为 <select>列表。当 <select>呈现,然后 grid.js 文件负责执行操作。

以下是您将在“ Action ”数组中传递的内容的一些示例:

带有链接的 Javascript Onclick

...
'actions' => array(
array(
'caption' => Mage::helper('sales')->__('Copy'),
'onclick' => 'window.location = "' . Mage::getUrl('*/*/toclipboard') . '"'
)
),
...

运行前确认

...
'actions' => array(
array(
'caption' => Mage::helper('sales')->__('Copy'),
'url' => array('base'=>'*/*/toclipboard'),
'confirm' => true
)
),
...

渲染 <select>操作列表(在弹出窗口中打开最后一个操作)

...
'actions' => array(
array(
'caption' => Mage::helper('sales')->__('Copy'),
'url' => array('base'=>'*/*/toclipboard'),
'confirm' => true
),
array(
'caption' => Mage::helper('sales')->__('Example'),
'onclick' => 'window.location = "' . Mage::getUrl('*/*/toclipboard') . '"'
),
array(
'caption' => Mage::helper('sales')->__('Popup'),
'popup' => true
'url' => array('base'=>'*/*/toclipboard'),
)
),
...

关于javascript - 带有 javascript 操作列的 Magento adminhtml 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19381217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com