O que eu fiz aqui no trampo....
www.site.com/abrir/empresa/historia Sendo que: Abrir é um método do controller main.php (é o default no routes.php) empresa é o título do menu e historia seu submenu. Não há routes, uma vez que é o cliente que coloca os nomes dos menus/submenus. O que tu poderias fazer é: - Criar um campo url_title, por exemplo, ao criar um menu. Eu não fiz e agora sinto muita falta. Assim não importa qual o nome do menu (pode até ser Esta empresa cobra por um Ferrari e paga por uma bicicleta que ele convertia num nome Google friendly). - Nos routes, defina apenas o que é especial. Por exemplo, produtos, noticias e outros. Se na url não existir estes, que dizer que é menu normal. Funciona muito bem para mim, e não tenho a necessidade de colocar ids ou números na url, coisa que (para mim) é confusa. Também não quis colocar um controller para cada, salvo quando é carrinho de compras/e-commerce. Assim fica melhor dividido. Agora menus especiais (notícias, vídeos, etc) eu deixei no controller principal, com um método para ele: function noticias($noticia)... É fazer testes, mas deixei meu htaccess quase intacto. Só as configurações normais para retirar o índex.php e alguns limites de upload (2mb é pouco para subir PDFs, ZIPs e afins). De resto acho que é isso. Se precisar de alguma coisa mais técnica, me avise. De: [email protected] [mailto:[email protected]] Em nome de Octávio Augusto Interliquia Enviada em: quarta-feira, 23 de setembro de 2009 23:28 Para: CodeIgniter Brasil Assunto: Re: [CodeIgniter] Menu dinâmico - editoria na URL - Remapping - Route Oi Roberto e pessoal da lista. Editorias dinâmicas = menu dinâmico = infinitos controlers. Eu também pensei em alterar os routes dinamicamente com um include (gerando um php a cada inclusão / alteração de editorias). Não é uma solução muito sofisticada, mas resolveria. Não usar indetificadores extras e o final da url terminada em "titulo.html" é uma questão de SEO. Foi só para ilustrar um caso de artigo/notícia. Pensei também em fazer um route geral com (:any) e tratar tudo no controler principal, mas seria o mesmo que refazer o trabalho do CI. Também não sei como acionar / chamar um controler dentro do outro. Sabe como fazer isso? Octávio Augusto 2009/9/23 Roberto Almeida Longhi <[email protected]> Octávio, Tudo bom? No meu ponto de vista, o routes foi feito exatamente para isso. Mas não sei se entendi direito. O seu menu é fixo? Você colocou editoriais dinâmicas, não entendi muito bem. Referente o link do artigo meusite.com.br/esporte/id_noticia-999/titulo-da-noticia.html Não entendi muito bem porque você precisa do titulo da noticia, acredito que o id da noticia resolva, ou o titulo (como faz o wordpress). Vou supor que você tenha varias categorias (esporte, cultura, politica), mas que tudo é artigo. Neste caso eu faria um controller artigo, e redirecionaria a categoria como um parametro. Ai a url seria parecido com o que você descreveu meusite.com.br/esporte/id/ <http://meusite.com.br/esporte/id_noticia-999/titulo-da-noticia.html> porém no routes faria o redirecionamento. $route['esporte/([a-z]+)'] = "artigo/esporte/$1"; Agora se a categoria também é dinamica (no exemplo acima, o parametro esporte) ai fica dificil, mas provavelmente eu iria alterar o routes.php dinamicamente ou algo parecido. []'s Octávio Augusto Interliquia escreveu: Salve pessoal. Estou fazendo um portal e vou ter editorias dinâmicas (canais do menu). Assim, vou ter Esporte, Cultura, Politica etc. Quero montar url amigável e prática, sendo a mais curta possível. Gostaria de usar url do tipo "meusite.com.br/esporte" ou mesmo "meusite.com.br/cultura" Mas não quero ter que fazer um controler para cada um deles - já que é dinamico - ou colocar o nome do controler "editoria" ou "noticia" na url. Ou ainda, quando for um artigo, que a url seja "meusite.com.br/esporte/id_noticia-999/titulo-da-noticia.html" Alguém já solucionou isso? Algum jeito que não seja fazendo várias routes (remaping) manualmente. Agradeço a ajuda! Octávio Augusto _____ _______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br -- Roberto Almeida Longhi Time Web Contmatic (11) 2942 6700 Ramal 1404 (11) 8599 9022 www.contmatic.com.br _______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

