Eu tenho um site que usa o módulo Privado para definir o acesso ao conteúdo e, é claro, algumas das minhas páginas têm itens de menu. Agora, se eu definir uma página como privada, apenas usuários com permissão adequada poderão ver isso, o que é ótimo e o que eu queria.
Mas estou com alguns problemas com os itens de menu, eles desaparecem se o conteúdo atribuído a eles não for público (por exemplo, a página atribuída a eles é Privada), isso é bom, mas eu gostaria de poder mostrar esses itens ainda na navegação, portanto, se o usuário clicar neles, ele será direcionado para a página de login, solicitando que eles insiram seus detalhes para ver a página em particular.
Então, basicamente, eu gostaria de mudar o comportamento dos itens de menu da maneira que eles sempre serão visíveis para membros anônimos e registrados no site, mas quando você clica neles, poderá ver a página (se estiver logado in) ou ser redirecionado para a página de login (se anônimo)
Encontrei esta solução que não é a melhor para mim, pois tenho muitas páginas como essa, então estou procurando uma abordagem melhor. Eu até tentei o módulo de visibilidade do item de menu , mas isso também não ajudou!
Como faço para conseguir isso, por favor?
Luca
Respostas:
Seu problema é bastante comum.
Aqui está a discussão sobre como implementar esse truque nos Drupal 6 e 7 e 8: http://drupal.org/node/300607
A solução para o Drupal 7 pode ser encontrada aqui: http://drupal.org/node/300607#comment-4450062
Se você preferir o módulo pronto - faça o download aqui https://github.com/systemseed/always_visible
fonte
Eu tive uma situação semelhante em que as páginas tinham que aparecer no sistema de menus, mas o conteúdo deveria aparecer apenas para usuários logados. A solução final foi muito simples e continua a funcionar.
Em vez de controlar o acesso ao conteúdo, o modelo do nó verifica se o usuário está conectado. Nesse caso, ele exibe o conteúdo. Caso contrário, o texto aparecerá com links para efetuar login ou registrar-se.
Eles não são redirecionados automaticamente; portanto, se isso é crítico, essa não é a solução.
O código em poucas palavras:
fonte