- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发包含主题的 Magento 1.8.1。还涉及多个扩展,并且大多数是完全定制的。
一段时间以来,我一直在尝试让公司名称出现在销售订单网格中,并且已经获得了一些运气。
首先,我已将 /core/Mage/Adminhtml/Block/Sales/Order/Grid.php
复制到 /local/Mage/Adminhtml/Block/Sales/Order/Grid .php
.
然后我将 _prepareCollection()
中的代码更新为:
protected function _prepareCollection()
{
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection->getSelect()->join(
array('addressTable' => 'sales_flat_order_address'),'main_table.entity_id = addressTable.parent_id AND addressTable.address_type = "billing"',array('billing_company'=>'company'));
$this->setCollection($collection);
return parent::_prepareCollection();
}
同时将以下内容添加到 _prepareColumns:
$this->addColumn('company', array(
'header' => Mage::helper('sales')->__('Bill to Company'),
'index' => 'billing_company',
));
一切都按原样运行,直到我决定将 Ship to Company 也提供给公司会非常好,因为我们的大多数客户都为其他公司购买。
为了做到这一点,我像以前一样毫无问题地添加了列:
$this->addColumn('company', array(
'header' => Mage::helper('sales')->__('Ship to Company'),
'index' => 'shipping_company',
));
添加的列没有问题,只是它不在我放置的位置(在shipping_name
之前),这只是添加了没有数据的列。
现在要添加数据,我将在 _prepareCollection
下添加另一个集合,因为与表中的计费相比,运输信息位于不同的行,如下所示:
$collection->getSelect()->join(
array('addressTable' => 'sales_flat_order_address'),'main_table.entity_id = addressTable.parent_id AND addressTable.address_type = "shipping"',array('shipping_company'=>'company'));
但是当我尝试这个时,我得到一个错误:
You cannot define a correlation name 'addressTable' more than once
我在两列之间也有相当多的冲突。例如,当我没有在 _prepareColumns
下评论 Ship to Company 时,它会显示 Ship to Company 列,Bill to Company 列应该在哪里。列中也没有数据。只要我评论运送到公司的账单到公司就会出现并具有正确的数据。
基本上,我只需要显示 Ship to Company 列以及 Bill to Company 列即可。最好在适当的名称旁边。
我已经将公司列添加到客户网格并创建新订单客户网格也没有问题。
最佳答案
好的,所以我上面的编辑并不完全正确。这些列显示并填充得很好,但是在尝试搜索该字段后我收到了一个错误。所以经过更多研究,我找到了这个解决方案:Using column aliases in Sales Order Grid field
这个问题的答案很完美,只需要改变一些小事情。我在下面附上了我的代码,以防其他人正在寻找这个解决方案。
protected function _prepareCollection()
{
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection->getSelect()->join(array('address_billing' => $collection->getTable("sales/order_address")),'main_table.entity_id = address_billing.parent_id AND address_billing.address_type = "billing"',array('address_billing.company as billing_company'));
$collection->getSelect()->join(array('address_shipping' => $collection->getTable("sales/order_address")),'main_table.entity_id = address_shipping.parent_id AND address_shipping.address_type = "shipping"',array('address_shipping.company as shipping_company'));
$this->setCollection($collection);
return parent::_prepareCollection();
}
在 _prepareColumns() 下改为:
$this->addColumn('company', array(
'header' => Mage::helper('sales')->__('Bill to Company'),
'index' => 'billing_company',
'filter_index' => 'address_billing.company',
));
$this->addColumnAfter('shipping_company', array(
'header' => Mage::helper('sales')->__('Ship to Company'),
'index' => 'shipping_company',
'filter_index' => 'address_shipping.company',
),
'billing_name'
);
请记住,我必须使用 addColumnAfter 函数将我的运输公司列放置在正确的位置。
有了这个修复,一切终于按我想要的方式工作了!
编码愉快!
关于php - 订单网格的公司名称列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24516967/
有谁知道是否可以在 Azure Authenticator 应用程序中向帐户添加自定义图像?对于我们的所有帐户,它始终显示上传到 AAD 的用户照片或通用徽章图像 我们希望将我们公司的图像添加到帐户中
我正在将分离的实体传递给 persist: model。公司当我使用@OneToMany映射时。我尝试了不同的方法但结果相同。我添加了 @OneToMany 和 CascadeTypes Persis
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我正在尝试为多家公司生产的产品、他们的配件以及产品和配件与客户账户的关联设计一个数据库。 您将如何设计这样的数据库来实现此功能? 商业规则 一个产品总是与一个公司相关联,一个公司可以有很多产品。 除产
这更像是一个普遍问题,即哪个方向对公司来说是更好的投资。 我们公司的核心业务应用程序是用 Visual FoxPro 编写的,已有大约 9 年以上的历史。该数据库庞大,超过 15 GB,核心逻辑复杂,
我刚刚尝试创建一个安装在 Android 上的应用程序列表。我想这样做,以便在备份并将手机重置为出厂设置之前获得已安装的应用程序列表。 到目前为止一切顺利,我有以下信息: 包名 友好的名字 版本号/代
我有一个包含公司及其产品的数据库,我想要每个公司拥有单独的产品 ID 序列。 我知道postgresql做不到这个,唯一的办法就是每个公司都有一个单独的序列,但这很麻烦。 我想到了一个解决方案,用一个
我正在使用带有 m2e 的 Eclipse Indigo(它连接到 Maven 3.0.3 的外部二进制文件)。 现在,我的应用程序的预期结构如下: Company-parent --Project-
我有一个关于 Lucene/Solr 的问题。 我正在尝试解决一般(公司)名称匹配问题。 让我举一个过于简单的例子: 我们有两个(可能很大)名称列表,即 list_A 和 list_B。我们想找到两个
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在开发一些通过企业计划分发到公司 iPad 上的应用程序(因此我/公司可以完全控制它们)。在公司拥有的设备的上下文中,什么是“正确的”(如果有的话)识别运行应用程序的设备的方法? 按照此处的建议创
我的 SQL 数据库中有两个表: 公司: ID(自增) 姓名 地址 ... 员工: ID(自增) 公司编号 internal_id 姓名 姓氏 问题是我想要一个与他们所属的公司相关的员工 ID (in
在为用户获取公司列表时,它会为没有 Logo 的公司抛出 500 错误代码。 使用 logo-url 参数查询: curl "https://api.linkedin.com/v1/companies
如何在不访问的情况下获取 Liferay 中的全局(公司)组 ID ThemeDisplay ? P.S.:与 ThemeDisplay很简单:themeDisplay.getCompanyGroup
有人可以帮助我以最佳方式在流畅的 nHibernate 中映射以下情况吗? Address 类用于 Client 和 Company。如何在 SQL 中最有效地存储它?映射应该是什么样的?我已经考虑过
我是数据库设计新手,请给我一些建议。 1 When should I use a composite index? im not sure what does index does, but i do
我有一个为 A 公司完成的 Grails 应用程序。现在需要对 B 公司进行一些更改。 我不想复制整个项目,因为它会在以后产生问题(代码重复、硬管理、修复双方的错误等) 相反,我希望有一些公司特定的代
我正在考虑使用一个 image 表来存储任何其他独立表的图像,例如 user、product 等... (当然,独立表的任何单个实例(例如作为用户的John Smith,以及作为产品的笔记本电脑) )
我正在尝试为 Vuzix M300 智能眼镜开发应用程序。我已经通过 Android SDK Manager 安装了 Vuzix SDK。我已按照 Vuzix 文档中提到的所有步骤进行操作。我还将编译
我正准备将我的第一个 iOS 提交到应用商店。我目前正在权衡为我的开发者帐户创建 LLC 以提交到应用商店的利弊,而不是仅作为个人提交。 在以前的论坛帖子中,Apple 过去似乎需要更长的时间(数月)
我是一名优秀的程序员,十分优秀!