Eu tenho uma página Views em um site multilíngue, onde preciso de um URL diferente para cada idioma, ou seja:
- es: mysite / apartamentos.
- pt: mysite / apartamentos.
- fr: mysite / apartamentos.
- ru: mysite / arendu.
Criei um alias de URL para cada idioma (que é meu site / apartamentos, embora o idioma padrão do meu site seja o espanhol), de modo que o alias do espanhol para appartments
seja apartamentos
e assim por diante. Eu criei esses aliases usando configuration >> Search and Metadata >> URL aliases >> add alias
.
Eu tenho que passar parâmetros de consulta para a visualização para filtrar os resultados, para que meu URL seja algo como mysite / pt / appartments / p / location_field / 2 e eu tenho um formulário onde eu coloco manualmente a ação como:
echo "/".$language."/".$translated_page
onde a página traduzida pode ser apartamentos, apartamentos, apartamentos ou arendu, criando o URL da ação:
/ es / apartamentos, / fr / apartamentos, / pt / apartamentos e / ru / arendu
Meu problema é que, quando este formulário é enviado, o Drupal me envia para
mysite / es / apartamentos / p / location_field / 2
ao invés de
mysite / es / apartamentos / p / location_field / 2
e o mesmo ocorre para todos os idiomas. O resto parece bom e até a trilha de pão (que é gerada usando o URL) parece correta (Início >> Apartamentos Costa Dorada, em espanhol).
Quando eu uso a opção de idioma, ela me redireciona para a página traduzida correta, mas sem os parâmetros de consulta (a partir mysite/es/appartments/p/location_field/2
dela me envia para mysite/es/apartamentos
).
Não sei o que pode estar causando esse problema, talvez os parâmetros de consulta estejam interferindo na interpretação do alias?
Nota : Eu tenho muitos módulos de tradução ativados. Para os módulos i18n, existem: bloco, campo, menu, nó, caminho, sequência, taxonomia, tradução (conjuntos de tradução), variável e visualizações.
fonte
Respostas:
Sub-módulo i18n_path
Presumo que você também esteja usando o módulo i18n . Portanto, certifique-se de ativar também o
i18n_path
submódulo (= conversão de caminho). Mais detalhes sobre isso, na documentação da comunidade (marcação em negrito adicionada aqui):visualizações de página i18n
Você também pode verificar se consegue fazê-lo funcionar usando o módulo de visualizações de página i18n . Alguns detalhes da página do projeto:
Nota 1 : " se você não encontrar nenhuma opção na exibição para traduzir o caminho " (como no seu comentário abaixo), poderá dar uma olhada no que é mencionado no Comentário nº 1 da edição 2389535 , que afirma:
Serigrafia 1 :
Serigrafia 2 :
Nota 2 : Para responder à pergunta sobre " Terei que criar a página de exibição inteira novamente para torná-la como uma página i18n? " (Como em um dos seus comentários (agora excluídos) abaixo desta resposta), tente usar uma das abordagens descritas nas respostas à pergunta em Como duplicar uma exibição de Views (que não é o mestre) como um tipo de exibição diferente? ... Se isso não funcionar / se aplicar, a recriação de toda a página de visualização parece ser a única opção restante.
fonte
Remova o alias do caminho e tente codificar esse caso especial usando
hook_url_inbound_alter e ou hook_url_outbound_alter
Você também pode alterar a ação do formulário do filtro exposto:
Ou:
Formulário preenchido aqui Como altero o URL de envio do filtro de pesquisa exposto?
fonte