Como redireciono os usuários para um URL predeterminado após o login?

7

Eu tenho uma visão no Drupal 7 que lista arquivos PDF. Eu quero acompanhar os usuários que abrem esse arquivo; então eu quero que, se eles não estiverem conectados quando clicarem, eles serão enviados para a página de login / inscrição. Já consegui isso usando dois modos de exibição com permissões diferentes, mas o problema é que, depois de se inscreverem, eles são redirecionados para a página de perfil do usuário, em vez do arquivo PDF.

Como posso fazer isso?

Lucrozade
fonte

Respostas:

8

Todos os formulários no Drupal suportam um parâmetro de destino interno.

Quando você vincula o usuário ou o formulário de usuário / registro, pode adicionar? Destination = [url]

user/register?destination=node/1

Como você exibe a lista de arquivos com o Views, precisará reescrever o link dos arquivos para incluir o parâmetro de destino. Se você gerar o link com l () , poderá adicionar dados de URL extras no terceiro parâmetro de l, como

l('Sign in to View', 'user', 'destination=node/1');
Letharion
fonte
Tentei essa abordagem, sem sucesso. Reescreva o link para incluir o arquivo pdf ( exemplo.net/user?destination=http://example.net/sites/default/… ). Ele acessa a página de login do usuário, mas após o logon, ele não acessa o arquivo pdf, ele ainda acessa a página da conta do usuário ... estou perdendo alguma coisa?
Lucrozade
Desculpe, agora eu adicionei informações, indicando que isso funciona apenas para caminhos internos , não absolutos, de modo que seria example.net/user?destination=sites/default/files/datasheets/…
Letharion
Isso funcionou! O problema que tenho é este: <br /> 1.O usuário acessa a visualização e clica no link pdf <br /> 2.O link leva o usuário à visualização com o formulário de login do usuário na parte superior < <br /> 3.O usuário faz login <br /> 4.O pdf abre <br /> 5.Se o usuário clicar em "voltar" no navegador, ele o levará à mesma visualização (mesmo que ele esteja logado agora ) com as informações do usuário na parte superior da visualização <br /> 6.Se o usuário clicar em outro link em pdf, ele não abrirá o link, será direcionado para a mesma página e depois passará por lá, porque esses links em PDF terão o / user? destination <br /> <br /> Existe uma maneira de resolver isso? Thanx
Lucrozade
6

O módulo Destino de Login é para todos os tipos de logins e registros. As páginas do projeto dizem: "Também é possível manter os usuários na página visitada atualmente após o logon ou logout".

Eu não o usei antes, mas espero que resolva seu problema.

mtro
fonte
2

Você pode fazer isso com regras. Use o evento após o login e adicione uma ação para transferir o usuário para a página.

Dee
fonte