столкнулся с тем, что не работают виды с модулем категорий - одно время всё вроде заработало, но выяснилось, что после релиза всё сдохло . Начал копать и нашел, где баг . Итак:
файл [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';
В итоге всё прекрасно заработало.
Комментарии
Спасибо, у меня та же бодяга была!
А разработчикам ты еще не сообщал?
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
а тут патч конкретно для категорий, а категории - ещё CVS, да я и английский не знаю настолько. Хочешь - отпиши. Такой же патч у меня есть и для ejournal - если надо, могу тоже выложить, просто ejournal вещь редкая....
А где добавлять этот запрос? Прямо в модуле?
да , прям в модуле, это просто патч
После патча ругается, что нет таблицы node_data_field