回答
你应该覆盖类Mage_Adminhtml_Block_Customer_Grid(应用程序/代码/核心/法师/ Adminhtml /座/客户/ Grid.php),并应用以下更改:
1 - 添加新的属性在_prepareCollection显示()函数
2 - 添加新列在_prepareColumns显示()函数
信用:http://www.leonhostetler.com/blog/magento-add-attribute-columns-in-manage-products-grid-201205/
的Magento不为我们提供了选择哪个属性的能力作为管理产品网格中的列包含在内,但对代码进行必要的更改非常简单。
生成管理产品网格的代码位于/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php。你需要做的第一件事是将Grid.php复制到本地目录结构中。换句话说,您将Grid.php复制到以下位置; /应用程序/代码/本地/法师/ Adminhtml /座/目录/产品/。如果没有这样的位置,那么你必须创建必要的目录。文件的最终位置必须是; /app/code/local/Mage/Adminhtml/Block/Catalog/Product/Grid.php
现在,打开Grid.php(本地目录结构中的一个)并开始编辑。找到下面的代码;
$这 - > addColumn( 'SKU', 阵列( '标题'=>法师::助手( '目录') - > __( 'SKU'), '宽度'=>' 80px', 'index'=>'sku', ));
这是将SKU列添加到产品网格中的代码。现在,假设您有一个名为供应商ID(supplier_ID)的自定义属性,并且您希望这些属性也出现在管理产品网格中。将以下代码放置在上述代码块之前或之后,只要它位于_prepareColumns()内部即可。
$this->addColumn('supplier_id', array( 'header'=> Mage::helper('catalog')->__('Supplier ID'), 'width' => '150px', 'index' => 'supplier_id', ));
然后添加以下行到其他属性中列出这样_prepareCollection();
- > addAttributeToSelect( 'supplier_id')
这应该是所有你需要做的。您可能需要重新编译,刷新缓存,注销并重新登录才能查看产品网格中的更改。
以上示例用于为文本字段的存储所有者添加具有目录输入类型的属性。如果你的属性使用下拉列表呢?上面的代码将不得不被修改。
比方说,您有一个属性称为供应商(供应商),它在产品编辑器中提供可供选择的供应商下拉列表。要做到这一点,我们可以将下面的代码添加到_prepareColumns():
$ supplier_items = 法师:: getModel( 'EAV/entity_attribute_option') - > getCollection() - > setStoreFilter() - >连接( 'attribute','attribute.attribute_id = main_table.attribute_id', 'attribute_code'); foreach($ supplier_items as $ supplier_item): if($ supplier_item-> getAttributeCode()=='supplier') $ supplier_options [$ supplier_item-> getOptionId()] = $ supplier_item-> getValue(); endforeach; $ this-> addColumn('supplier', array( 'header'=> Mage :: helper('catalog') - > __('supplier'), 'width'=>'150px', 'type '=>'options', 'index'=>'supplier', 'options'=> $ supplier_options,));
并且我们不要忘记将以下行添加到_prepareCollection()其中列出其他属性,
- > addAttributeToSelect( '供应商')
这应该为你做它。重新编译,刷新缓存,然后注销,如果需要的话重新登录。
这是一个很好的答案,但是我给它一个反对票,因为它完全没有意识到所问的问题是关于向客户网格添加一列,而不是产品网格。当然,这个过程几乎是一样的,这个答案甚至没有试图至少提到客户网格是在app/code/core/Mage/Adminhtml/Block/Customer/Grid.php下找到的。 唉,我现在没有声望投票。所以我建议至少修改答案。 – Meogi 2013-11-20 19:48:47
我已经发布here真实的例子。
如果您需要添加custome属性,您可能需要谨慎处理join语句。
->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
用您的自定义模块重写客户网格块。
应用程序/代码/ [地方或社区] /YourCompany/YourModule/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<yourcompany_yourmodule>
<version>0.1.0</version>
</yourcompany_yourmodule>
</modules>
<global>
<blocks>
<adminhtml>
<rewrite>
<customer_grid>YourCompany_YourModule_Block_Customer_Grid</customer_grid>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
应用程序/代码/ [地方或社区]/YourCompany/YourModule /块/客户/Grid.php
<?php
class YourCompany_YourModule_Block_Customer_Grid extends Mage_Adminhtml_Block_Customer_Grid
{
public function setCollection($collection)
{
$collection->addAttributeToSelect('confirmation');
parent::setCollection($collection);
}
protected function _prepareColumns()
{
parent::_prepareColumns();
$this->addColumn('confirmation', array(
'header'=> Mage::helper('sales')->__('Confirmed'),
'index' => 'confirmation',
'type' => 'text',
'width' => '100px',
));
return parent::_prepareColumns();
}
}
详细解释可以在这里找到:
http://tipsmagento.blogspot.com/2011/03/add-new-column-on-customers-grid.html
@kleopatra谢谢。我已经更新了答案。 – 2013-10-17 10:50:56
请务必查看TigerMin for Magento。这是一个工具,您可以轻松地将列添加到productsgrid中,甚至可以立即内联编辑值。这里现场演示:http://demo.emvee-solutions.com/tigermin/
- 1. 添加新的客户行动,Magento的客户网
- 2. 的Magento - Magento中添加客户名称,以便电网1.7.0.2
- 3. Magento Rest API - 添加客户地址
- 4. 向现有网站添加magento
- 5. 添加客户属性Magento2
- 6. Magento无法列出客户
- 7. Magento - 将列添加到销售订单网格不工作
- 8. Magento在销售网格中的后端添加一列
- 9. 向SignalR客户端添加角色
- 10. Magento:将客户重定向到第三方支付网站
- 11. 刷新数据网格添加一个新的客户MVVM WPF
- 12. 添加客户端功能onclick剑道网格行编辑
- 13. Magento客户登录重定向问题
- 14. 如何向magento中的客户添加自定义复选框字段?
- 15. 向magento后台中的客户视图添加新选项卡的问题
- 16. Magento不会向某些客户的购物车中添加商品。虽然
- 17. 如何自定义magento客户网格中的数据库值
- 18. Magento客户群 - 价格上涨
- 19. wpf网格列添加列的摘要
- 20. 需要添加在magento后端添加客户的上传文件字段
- 21. 如何将自定义列添加到Magento的“管理客户”视图
- 22. Magento的,添加自定义属性到客户地址
- 23. 跟踪客户在Magento中将产品添加到购物车
- 24. 以原始SQL将客户添加到Magento中
- 25. Magento:将客户的taxvat添加到计费地址
- 26. 添加产品到客户登记在magento
- 27. 隐藏添加到购物车Magento的访客用户
- 28. Magento:将客户组添加到pdf装箱单
- 29. Magento - 将自定义属性添加到客户模型
- 30. Magento - 删除为客户添加新地址选项
可能的重复[添加栏到Magento管理员目录>管理产品](http://stackoverflow.com/questions/5990910/add-column-to-magento-admin-catolog-manage - 产品)(不同的网格,但方法相同)。 – clockworkgeek 2011-05-18 15:38:37
谢谢,如果我想在新模块中复制客户网格。 – Bizboss 2011-05-19 08:06:07
只需像其他任何PHP类一样扩展即可。 – clockworkgeek 2011-05-19 10:41:54