Quiero tener una estructura de URL que se vea así:
Donde tengo un parámetro de URL que filtra el contenido que se muestra en el sitio web sin "enrutar" al usuario a otro lugar. Los parámetros solo están ahí como una especie de filtro global de contenido, el diseño del sitio web no cambia, solo el contenido. Entonces, ningún "filtro" solo significa mostrar todo, senderismo significa mostrar solo productos con la etiqueta "senderismo", etc.
La razón por la que quiero hacerlo así en todo el sitio es para poder enviar una URL específica a un cliente con filtros ya establecidos.
Soluciones:
Esto se puede hacer con parámetros de consulta, pero los enlaces se verán muy feos y quiero que esto sea global en el sitio, por lo que no solo la página de productos, sino también el blog/noticias, etc. Tener que enviar parámetros de consulta en cada enlace es no es una opción para nosotros.
Esto también se puede hacer usando los slugs dinámicos de Next.js, sin embargo, no veo una solución que no requiera prácticamente un duplicado de archivos.
Quiero que esto funcione de manera similar a las configuraciones regionales de Next.js, donde básicamente puede agregar el prefijo example.com/en-US/... a cada URL sin interferir con el enrutamiento.
Cualquier sugerencia será muy apreciada :)
EDITAR: otra solución sería reutilizar los locales para hacer esto por mí, sin embargo, ya estoy usando los locales para el propósito previsto: D
Probablemente cambiaría las rutas dinámicas. ¿Te serviría algo como esto?
De esta forma, la estructura de carpetas se vería así:
- products --- [category].tsx - news --- [category].tsx Los archivos [category].tsx contendrían el código relacionado con su carpeta respectiva (noticias, productos, etc.), por lo que no tendría ningún archivo duplicado.
Si por alguna razón necesita conservar la estructura de su página actual, puede usar rutas dinámicas anidadas, pero según su descripción, no puedo pensar en una buena razón por la que no pueda estructurarla de esta manera.