Drupal 6 十进制和视图

Posted

技术标签:

【中文标题】Drupal 6 十进制和视图【英文标题】:Drupal 6 Decimal and Views 【发布时间】:2012-01-14 13:51:14 【问题描述】:

你有没有尝试过存储一个像 113044638720122 这样的数字,然后使用视图来过滤它?

我试图使用这些大数字,我使用 CCK 十进制精度到 32 和 Views。 在一个简单的测试中,我将 113044638720122 作为固定参数传递,然后我查看查询并将参数更改为 2147483647(类似于 2^32/2-1,最大有符号整数)。

您知道将这些大数字用作参数的人类方法吗? Views 正在将我的小数(ckk 字段)转换为精度较低的某种数字类型......这会破坏我的论点和结果。

我也尝试将这些数字存储在字符串中,但如果这样做,我无法设置“每个参数允许多个术语”,这是一个很大的限制。

有什么线索吗?非常感谢。

【问题讨论】:

【参考方案1】:

目前我正在使用 hook_views_query_alter 解决这个问题,首先我将大数字更改为字符串,然后修改视图中的参数。这不是我认为的最佳解决方案,但它确实有效。

function mymodule_views_query_alter (&$view, &$query) 

  if ($view->name=='viewname' && $view->current_display=='displayname') 
    $query->where[0]['args']= somefunction();
  


【讨论】:

以上是关于Drupal 6 十进制和视图的主要内容,如果未能解决你的问题,请参考以下文章

drupal-6视图参数中的日期范围?

PHP 使用视图2和Drupal 6创建相关页面块

Drupal 6、CCK 和视图中的循环排序

2 寻呼机在视图中 - Drupal 6

eclipse的内存视图中的十六进制表示错误

drupal 6 - 我可以使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段吗?