Дублирование во вьюс у определённых ролей

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

Аватар пользователя Freedom Freedom 18 декабря 2009 в 21:33

Происходит дублирование в представлениях вьюс у некоторых ролей. У админа всё нормально, у других ролей дублируются, а иногда утраивается результат при отображении.
Стоит модуль Taxonomy Access.
Можно конечно выставить в представлении исключить дублирование. Но вопрос всё равно останется. Почему происходит дублирование только у определённых ролей?

Комментарии

Аватар пользователя talgar@drupal.org talgar@drupal.org 21 декабря 2009 в 5:48

Обновился... теперь появилась такая же проблема. У админа все нормально, а у пользователей происходит дублирование записей...

Аватар пользователя talgar@drupal.org talgar@drupal.org 21 декабря 2009 в 7:54

решил проблему следующим образом . В файле includes/database.mysql.inc изменил функцию db_distinct_field
было:

<?php
function db_distinct_field($table$field$query) {
  
$field_to_select 'DISTINCT('$table .'.'$field .')';
  
$matches = array();
  if (
preg_match('/^SELECT(.*?)FROM(.*)/is'$query$matches)) {
    
$select preg_replace(
      
'/((?:^|,)\s*)(?<!DISTINCT\()(?:'$table .'\.)?'$field .'(\s*(?:,|$))/is',
      
'\1'$field_to_select .'\2'$matches[1], 1
    
);
    
    return 
'SELECT'$select .'FROM'$matches[2];
  }
  return 
$query;
}
?>

стало:

<?php
function db_distinct_field($table$field$query) {
  
$matches = array();
  if (!
preg_match('/^SELECT\s*DISTINCT/i'$query$matches)) {
      
//Only add distinct to the outer SELECT to avoid messing up subqueries
    
$query preg_replace('/^SELECT/i''SELECT DISTINCT'$query);
  }
  return 
$query;
}
?>

http://drupal.org/node/579892