Boa noite,
Estou a desenvolver um site de noticias em Drupal /. Estou com um problema nos urls que não sei bem como resolver.
Neste momento tenho configurado uma taxonomia de categorias. Cada item do menu corresponde a um termo da taxonomia.
Quando crio um conteúdo posso atribuir multiplas categorias.
O quero que quero que aconteça é que quando estou na homepage(tenho um view so na Home) e clico para ver o detalhe quero que o link do url seja dominio/titulo-da-noticia.
Quando estou na categoria, tenho a lista de todas as noticias correspondentes e quando vou ver o detalhe da noticia o link seja dominio/categoria/titulo-da-noticia.
O problema é ter multiplas categorias e não conseguir configurar um pattern no pathauto para o node.
É possível ter este comportamento?
Apenas não estou a conseguir implementar o link do detalhe da noticia quando venho da categoria.
Não sei se me estou a explicar bem mas se alguém souber a solução precisava de uma luzes... :)
Obrigada
Sliderf
Comments
Tens experiencia com filtros
Tens experiencia com filtros de contexto, relações e o módulo EVA?
A solução é um pouco reboscada para quem não tem experiência com isso, mas para o problema específico que colocas são as que me vêm á cabeça.
Para responderes a múltiplos URL'S tens duas alternativas:
VIEWS
Tens que criar uma view com o display do tipo página que mostre o nó, quando os filtros de contexto interpretam a categoria e o titulo do nó a partir do url.
RULES
Crias uma rule para criar um novo url alias sempre que gravas um nó. Iteras sobre as categorias, e usas os tokens para criar os URLS.
Já para mostrares o url certo consoante o contexto (se estás na homepage ou na listagem da categoria é que complica mais um bocado)
No teaser (ou nos display mode que usas), para apresentares o link consoante estás na view da homepage ou na listagem de nós da categoria tens que criar um EVA Field.
Ao apresentar o nó na listagem verifica se existe uma categoria no url. Se existir então re-escreves o campo categoria com o url categoria/titulo-do nó, caso contrário defines a opção sem resultados com a [path] original do nó. Esta opção também engloba que tenhas que usar relações entre as entidades taxonomia e conteúdo.
Conselho: Se vais usar títulos a partir de filtro de contexto nas views, usa o módulo machine_name para criar uma safe string do titulo, caso contrário podes ter problemas com espaços e caracteres especiais.
De resto, não estou a ver outra solução simples.
Se houver alguém que a tenha, que levante a mão ;)
Views e URL alternativos
No curso Drupal 7 Views - http://nodes.pt/formacao/workshops-online/dominar-o-views , tenho essa funcionalidade implementada.
Procedimento em traços gerais:
Taxonomia
Tens de criar taxonomia com hierarquia das rubricas.
Views
Cria clone da view default /taxonomy/term/% e adapta-a ao que queres.
Usa contextual filters:
- Content: Has taxonomy term ID (with depth)
- Content: Has taxonomy term ID depth modifier
Na secção Taxonomy terms, edita pattern para o vocabulário das tuas rubricas, de forma a que parent e child apareçam como alias.
term:parent]/[term:name]
Na secção dos patterns para o(s) teu(s) content type(s), usas o delta do field que faz relação com termod e taxonomia. No meu caso é field_topico que deves substituir pelo machine name do teu field.
O 0 (zero) mostra o parent (grande rubrica) e o 1 o child (sub-rubrica), seguido do título do node específico que estiver a ser visualizado.
[node:field-topico:0:name]/[node:field-topico:1:name]/[node:title]
Bom trabalho.
Abraço,
Cláudia Amorim
Obrigada aos dois pela
Obrigada aos dois pela ajuda.
Vou tentar implementar a ver se consigo.
Cumps,
sliderf
O módulo Pathauto pode ajudar
Penso que a forma mais simples é usar o módulo Pathauto onde podes definir qual o URL para cada nó que crias. Por exemplo podes definir que quando crias um artigo o URL é
/{taxonomia}/{titulo}
. O módulo cria URL alias para resolver isso.Não deves ter caminhos diferentes para o mesmo conteúdo. Em termos de SEO isso é bastante penalizador. Para um BOT como o google tu tens dois URLs diferentes o que quer dizer que um deles é uma cópia. (O Google webmasters pode-te ajudar neste assunto.)
Espero ter sido uma ajuda!
O fsilva tem razão, os bots
O fsilva tem razão, os bots penalizam urls diferentes. Mas penso que existe um módulo para colmatar essa situação, o nodeSymLinks.
Nas vezes que precisei de categorizar assim conteúdo recorri ao módulo nodehierarchy. Mas que me lembre não creio quetenha tido sucesso na transformação do url consoante a categoria onde se pendura nos menus, que penso que é isso que OP está a tentar conseguir.
EDIT
Com o nodesymlinks, o OP consegue o que precisa relativamente aos URLs, desde que ao criar o conteudo, ele configure os menus pai onde quer pendurar o link. à mão. E o url gerado para cada link respeita a hierarquia com o token quem vem por omissão.
exemplo:
Viva, http://www.hobo-web.co.
Viva,
http://www.hobo-web.co.uk/duplicate-content-problems/
É sempre possível usar a tag canonical, no caso de termos múltiplos urls.
Ab.,
Filipe