gpt4 book ai didi

php - 在发票网格中添加自定义列 - Magento 1

转载 作者:行者123 更新时间:2023-11-29 06:52:00 25 4
gpt4 key购买 nike

在“销售”->“发票”->“发票网格”中,我添加了“付款方式”列。

在$collection中,我加入了sales_flat_order_ payment表,这样我就可以提取每个entity_id的方法并成功完成。当我回显查询并在 Mysql 中使用它时,它返回我想要的结果。

现在,我希望 mysql 的方法列在发票网格中可见。

这就是我所做的。

我在这里遵循了一些步骤。 Add custom renderer for a custom column in Magento grid

现在这是我的代码。

在我的

app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Grid.php

这是我的$收藏

$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection->getSelect()->join( array('a'=> mgmx_sales_flat_order_payment), 'a.entity_id = main_table.entity_id', array('a.method'));
$this->setCollection($collection);
/*echo $collection->getSelect();die();*/
return parent::_prepareCollection();

然后在_prepareColumns中

$this->addColumn('payment_mode', array(
'header' => Mage::helper('sales')->__('Payment Mode'),
'index' => 'method',
'renderer' => 'Mage_Adminhtml_Block_Catalog_Product_Renderer_Red',
));

然后我在渲染器目录中创建一个渲染器目录和一个 Red.php

app/code/core/Mage/Adminhtml/Block/Sales/Invoice/Renderer

<?php 
class Mage_Adminhtml_Block_Catalog_Product_Renderer_Red extends
Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
public function render(Varien_Object $row) {
$value = $row->getData($this->getColumn()->getIndex());
return $value;
}
}
?>

但是这个返回一个错误

Fatal error: Call to a member function setColumn() on boolean in /home/xxxxxxx/xxxx.xxxxxx.com/xxxxx/includes/src/Mage_Adminhtml_Block_Widget_Grid_Column.php on line 291

最佳答案

为什么添加新列时需要自定义渲染器?

如果您不需要任何自定义输出,请忽略渲染器:

$this->addColumn('payment_mode', array(
'header' => Mage::helper('sales')->__('Payment Mode'),
'index' => 'method',
));

关于php - 在发票网格中添加自定义列 - Magento 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47071736/

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