Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
D7 Views Calc 和多行Field Collection字段统计的问题 - Drupal大学 - Drupal问答论坛
首页 / 帖子
D7 Views Calc 和多行Field Collection字段统计的问题

问题描述:
我使用views calc模块来对view列表的一些数据做统计,views有field collection 类型的字段时候计算就会出问题。
如图:


其实是想计算sum(Montant HT)总和(8600 + 51600 + 3101.26 + 2962.99 + 42000 = 108264.25)的,但实际上却是这样计算的 8600 + 51600 + (3101.26 * 5) + 2962.99 + (42000 * 3) = 204669.29
有field collection的字段被计算多了几次。

这个问题跟:http://drupal.stackexchange.com/questions/180771/view-calc-and-multiple-field-collection-lines# 是一模一样,但是还是没有找到方法来解决。
有无解决此问题的一些思路提供?

1个答案
王斌
发布于:2016-08-31 15:51

修改了 views_calc_table.inc 模块的add_aggregation_fields(&$view)方法,将238行改为if ($query_alias == 'unknown' || $field->field_info['type'] == 'field_collection') { 虽然这样不好,但这样可以正常工作。
注:这种办法只适用于模块不需要升级等情况。如果时间允许还是在自定义模块里面覆写相关function