Node Access/Views: Qual é a função do domínio Domain_Site e Domain_ID
-
19-09-2019 - |
Pergunta
Estou recebendo nós duplicados na visão AA que criei no Drupal. Parece que o problema está relacionado à maneira como a junção é feita em visualizações para a tabela Node_Access.
Usando o Devel, vejo a seguinte consulta:
SELECT node.nid AS nid,
node.language AS node_language,
node_data_field_weekend.field_weekend_value AS node_data_field_weekend_field_weekend_value,
node_data_field_weekend.field_weekend_value2 AS node_data_field_weekend_field_weekend_value2,
node.type AS node_type,
node.vid AS node_vid,
node_data_field_weekend.field_weekend_loc_nid AS node_data_field_weekend_field_weekend_loc_nid
FROM node node
LEFT JOIN content_type_wwme_weekends node_data_field_weekend ON node.vid = node_data_field_weekend.vid
INNER JOIN node_access na ON na.nid = node.nid
WHERE (na.grant_view >= 1 AND
(
(na.gid = 0 AND na.realm = 'all') OR
(na.gid = 0 AND na.realm = 'domain_site') OR
(na.gid = 0 AND na.realm = 'domain_id'))) AND
(
(
(node.type IN ('wwme_weekends')) AND
(node.status <> 0 OR
(node.uid = 0 AND 0 <> 0) OR 0 = 1)) AND
(DATE_FORMAT(STR_TO_DATE(node_data_field_weekend.field_weekend_value, '%Y-%m-%dT%T'), '%Y-%m-%d') > '2010-01-10') )
ORDER BY node_data_field_weekend_field_weekend_value ASC LIMIT 0, 5
A junção para a tabela Node_Access está fazendo com que os outros registros dupliquem porque existem vários registros Node_Access em um nó, um com o reino do domain_site e um registro com o reino do domain_id.
Os dados se parecem com isso (com algumas colunas cortadas para a brevidade):
nid gid realm grant_view grant_update grant_delete
73 0 domain_id 1 1 1
73 0 domain_site 1 0 0
988 0 domain_id 1 1 1
988 0 domain_site 1 0 0
90 0 domain_id 1 1 1
Qual é a finalidade do reino? Como esses registros são preenchidos e, o mais importante, como posso consertar isso? O SQL está certo?
Solução 2
Aparentemente, a resposta foi muito mais mundana do que eu estava pensando:
Use a opção de configuração "nó distinto" em visualizações, isso retira os enganos.
Outras dicas
Eu acho que os reinos se encaixam quando você tem um site de drupal com acesso a vários locais e você está usando o módulo de acesso ao domínio (http://drupal.org/project/domain) Se você não precisar do módulo de acesso ao domínio, a desinstalação pode resolver um pouco disso. Se você precisar, provavelmente precisará adicionar um filtro à sua visualização com o acesso do nó: Acesso e/ou usar o módulo de visualizações de domínio. Isso deve levar você na direção certa. Eu nunca trabalhei com esses módulos. Acabei de passar pelo código do módulo e páginas do projeto. Boa sorte!