Estou tentando entender meus filtros contextuais novamente! Eu usei um tempo atrás, mas fiquei totalmente perplexo novamente. Aqui está o que estou tentando fazer:
- Gere uma página do nó de conteúdo clonado com termos de taxonomia inseridos nessa página clonada.
ex .: EXAMPLE.com/white-shoes/blue
Quando um usuário acessar a página / white-shoes, ele exibirá a página do nó original voltada para a cor branca. Agora, se o usuário parar em / white-shoes / blue, ele exibirá a mesma página do nó, mas desta vez todo o conteúdo do corpo será reescrito, substituindo a cor branca pela cor azul.
No Views, eu teria que criar uma exibição de página com o caminho de:% /%
Agora, eu criaria um filtro contextual para recuperar o nid. Eu adiciono Conteúdo: nid como um filtro contextual. Eu escolho FORNECER UM VALOR PADRÃO e coloquei neste código PHP:
$ x = drupal_lookup_path ('fonte', arg (0));
$ y = explodir ('/', $ x);
retornar $ y 1 ;
Esse código PHP basicamente converte a parte / white-shoes da URL em um NID. Mas isso não funciona. Testei o código via drush ev através do terminal e, de fato, recebo um resultado retornado, então sei que funciona.
Eu faço o mesmo para o nome do termo de taxonomia e adiciono um filtro contextual para esse também. Desta vez, escolho FORNECER UM VALOR PADRÃO e seleciono VALOR CRU DA URL e seleciono o segundo argumento.
Como você pode ver quando insiro um PREVIEW VALUE para o filtro contextual: AAA / BBB / CCC. Meu valor padrão é ignorado. Ele deveria estar pegando o segundo argumento, mas está recebendo o primeiro apenas. Veja a instrução SQL WHERE e verá que ela está recebendo AAA quando deveria ser BBB.
Portanto, a pergunta é: o que estou fazendo de errado ou há uma solução melhor para o que quero realizar?