Доброго дня. Создаю представление, состоящее из трех блоков. Но беда состоит в том что выводится только первый из трех. При попытке предпросмотра следующиих двух блоков мне выдается ошибка вида: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'taxonomy_term_data.tid1' in 'where clause'. Пробовал решить проблему путем включения пункта "Генерировать подзапрос каждый раз, когда выполняется представление." и проблема решилась только тем что появилась возможность просматривать эти блоки без вывода этой ошибки, но только в предпросмотре, а на главной они все так же не появляются. Погуляв по инету попытался исправить сие недоразумение добавлением собственного модуля
код viewscorrector.module:
<?php
function viewscorrector_views_api() { // your module name into hook_views_api
return array(
'api' => 3,
// might not need the line below, but in any case, the last arg is the name of your module
'path' => drupal_get_path('module', 'viewscorrector'),
);
}
?>
код viewscorrector.views.module
<?php function viewscorrector_views_query_alter(&$view, &$query) {
if ($view->name == 'infos') {
drupal_set_message(t('If Worked'),'error');
$view->query->table_queue['node_taxonomy_term_data']['join']->left_query = preg_replace('/tid[0-9]/', 'tid', $view->query->table_queue['node_taxonomy_term_data']['join']->left_query);
}
drupal_set_message(t('Module work.'), 'error');
return $view;
}
?>
Так как мой опыт работы с Drupal не более полугода, допускаю что сделал что-то не так, в следствие чего мое творение довольно странно работает. На странице выводится сообщение "Module work." Перепроверил все и вся. Может не тот хук использую или еще что. Поскажите в чем может быть проблема? И пожалуйста помогите поправить код