在magento网格中添加自定义选择下拉列表

guykilcj  于 2022-11-12  发布在  其他
关注(0)|答案(3)|浏览(138)

我试图在我的magento网格中添加一个自定义下拉列表(选择/选项),但它不工作,我尝试了

$this->addColumn('dropdown', array(
'header' => Mage::helper('catalog')->__('Dropdown'),
'filter'    => false,
'sortable'  => false,
'type'=> 'options',
'options' => array('First'=>'firstvalue', 'second' =>'secondvalue')
));

我没有使用来自数据库的值,而是使用来自API的值,起初我想在网格上显示此选择下拉列表,但我看到的只是一个空白。

  • 谢谢-谢谢

编辑:

实际上,我需要做的是第一行的下拉菜单,第二行是我提供的代码。
我可以添加一个类似“视图”列的链接,但它不适用于下拉列表

lnxxn5zx

lnxxn5zx1#

有两种方法可以实现您的愿望:

第一种方式:

$this->addColumn('dropdown', array(
    'header' => Mage::helper('catalog')->__('dropdown'),
    'filter'    => false,
    'sortable'  => false,
    'index' => 'stores',
    'type' => 'select',
    'values' => array('First'=>'firstvalue', 'second' =>'secondvalue')
));

因此它将直接显示在网格上

第二种方式:

$this->addColumn('dropdown', array(
    'header' => Mage::helper('catalog')->__('dropdown'),
    'filter'    => false,
    'sortable'  => false,
    'index' => 'stores',
    'renderer' => 'Module_ModuleName_Block_Adminhtml_Renderer_Dropdown',
));

然后,您需要在Modulename\Block\Adminhtml\Renderer\中创建一个Dropdown.php文件,其中包含:

<?php
class Module_Modulename_Block_Adminhtml_Renderer_Dropdown extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{

public function render(Varien_Object $row) {
    $html = '<select>';
    $html .= '<option value="First">First value</option>';
    $html .= '<option value="Second">Second value</option>';
    $html .= '</select>';
    return $html;
  }
}

你只需要把ModuleModulename替换成你的,把Dropdown替换成你想要的。

8yoxcaq7

8yoxcaq72#

如果可以,为什么不调用您的API并使用安装脚本将其保存到数据库like this one.然后以通常的方式在您的magento网格中添加列(great tutorial here)接下来,set up a cron使用**modifyColumn**定期更新来自您的API的信息(最少每5分钟)
这样,每次加载页面时,就不必从外部api连续加载。
希望这对你有帮助!

4c8rllxm

4c8rllxm3#

我纠结了这么久,然后找到了GridControl extension

相关问题