Drupal 6 Decimal и Просмотры - PullRequest
       60

Drupal 6 Decimal и Просмотры

2 голосов
/ 07 декабря 2011

Вы когда-нибудь пытались сохранить число, подобное этому, 113044638720122, а затем использовать представления для его фильтрации?

Я пытался использовать эти большие числа, я использовал десятичную точность CCK до 32 и представления.В простом тесте я передал 113044638720122 в качестве фиксированного аргумента, затем посмотрел на запрос, и аргумент был изменен на 2147483647 (что похоже на 2 ^ 32 / 2-1, целое число со знаком max).

знаете человеческий способ использовать эти большие числа в качестве аргументов?Views - это преобразование моего десятичного числа (поле ckk) в некоторый числовой тип с меньшей точностью ... и это портит мои аргументы и результаты.

Я также попытался сохранить эти числа в строках, но если я это сделаю, то смогу 'Установите «Разрешить несколько терминов на аргумент», и это большой предел.

Есть подсказка?Большое спасибо.

1 Ответ

1 голос
/ 07 декабря 2011

В настоящее время я решаю эту проблему с помощью hook_views_query_alter, сначала я изменяю большие числа на строки, а затем изменяю аргументы в представлении.Это не лучшее решение, я думаю, но оно работает.

function mymodule_views_query_alter (&$view, &$query) {

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

}
...