патч для Views для работы совместно с Category(cvs от 2.10.2006)

Главные вкладки

Аватар пользователя jason32 jason32 30 октября 2006 в 16:00

столкнулся с тем, что не работают виды с модулем категорий - одно время всё вроде заработало, но выяснилось, что после релиза всё сдохло . Начал копать и нашел, где баг . Итак:
файл [b]views.vodule[/b]

function [b]views_build_view[/b]( ....
......
    if (is_array($info['args'])) {
      foreach ($info['args'] as $id => $arg) {
        $info['args'][$id] = str_replace($src, $dest, $arg);
      }
    }
  }

   $query = db_rewrite_sql($info['query'], 'node');

вот последний запрос( переменная $query )выдает неверную информацию.

SELECT node.nid, node_data_field_.field__value AS node_data_field__field__value, node_data_field_.field__timezone AS node_data_field__field__timezone, node.title AS node_title, node.changed AS node_changed, node_data_field__.field___value AS node_data_field___field___value, node.created AS node_created FROM {node} node  LEFT JOIN {[b][color=red]term_node[/color][/b]} term_node ON node.nid = term_node.nid LEFT JOIN {node_data_field_} node_data_field_ ON node.vid = node_data_field_.vid LEFT JOIN {node_content_} node_data_field__ ON node.vid = node_data_field__.vid WHERE ((term_node.[b][color=red]t[/color][/b]id = \'69\'))  ORDER BY node_data_field_.field__value DESC

Я не стал копаться , где именно и как он формируется, а написал правильный запрос ПОСЛЕ этого вышеуказанного кода

 $query='SELECT node.nid, node_data_field_.field__value AS node_data_field__field__value, node_data_field_.field__timezone AS node_data_field__field__timezone, node.title AS node_title, node.changed AS node_changed, node_data_field__.field___value AS node_data_field___field___value, node.created AS node_created FROM {node} node  LEFT JOIN {[b][color=red]category_node[/color][/b]} term_node ON node.nid = term_node.nid LEFT JOIN {node_data_field_} node_data_field_ ON node.vid = node_data_field_.vid LEFT JOIN {node_content_} node_data_field__ ON node.vid = node_data_field__.vid WHERE ((term_node.[b][color=red]c[/color][/b]id = \'69\'))  ORDER BY node_data_field_.field__value DESC';

В итоге всё прекрасно заработало.

Комментарии

Аватар пользователя Natalie Natalie 30 октября 2006 в 16:59

Спасибо, у меня та же бодяга была!
А разработчикам ты еще не сообщал?
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя jason32 jason32 30 октября 2006 в 19:46

а тут патч конкретно для категорий, а категории - ещё CVS, да я и английский не знаю настолько. Хочешь - отпиши. Такой же патч у меня есть и для ejournal - если надо, могу тоже выложить, просто ejournal вещь редкая....