Tengo un vocabulario adjunto a un tipo de contenido. Solo se puede seleccionar un término para clasificar un nodo hecho con este tipo de contenido. El vocabulario se llama Vehículos y tiene los términos "autos, camiones, botes". El tipo de contenido también se denomina Vehículos.
Utilizo path auto para que muestre [vocabulario: nombre] / [term: nombre] así que cuando se muestre mostrará site.com/vehicles/trucks, por ejemplo, que mostrará todos los camiones ... cosas típicas de Drupal ... Okay...
Ahora, tengo una Vista que es una página con una ruta 'vehículos'. Está configurado para mostrar todos los elementos del tipo de contenido 'vehículos'. Esta vista de página también está configurada para tomar un argumento 'taxonomy term id'.
Tenga en cuenta que cuando el término de taxonomía está presente, el alias de url generado para la ruta de taxonomía es exactamente igual que la página Vistas con un argumento proporcionado:
Ruta de taxonomía con alias URL = vehículos / camiones. Visualiza la página con argumento = vehículos / camiones.
Esto es a propósito. Mi objetivo era mostrar todos los resultados de ese tipo de contenido cuando un argumento no estaba presente, y cuando estaba presente, lo más importante era filtrar los resultados basados en ese término de taxonomía Y mantener los mismos campos y estructura sin el argumento (igual que sitio.com/vehículos).
El problema es que esto no funciona como se esperaba. site.com/vehicles muestra correctamente mi vista y los filtros relacionados. site.com/vehicles/trucks muestra solo la lista de taxonomía regular y sin formato suministrada por Drupal.
¿Es esto porque el argumento de ID de término de taxonomía no está configurado correctamente?
¿Es este un problema de peso donde los ganchos de taxonomía se disparan después de Vistas? Si es así, ¿cómo puedo reorganizar los pesos aquí para que se dispare correctamente y me dé los resultados que necesito?
Sé lo que va a sugerir: las Vistas vienen con taxonomía / término /% vista para anular las vistas predeterminadas de drupal.
Sin embargo, esto no va a funcionar en mi caso. Tengo varios tipos de contenido, cada uno con su propio vocabulario y cada uno con su vista y un conjunto distinto de campos (casas y automóviles, por ejemplo, tienen conjuntos de campos muy diferentes). La taxonomía / término /% funcionaría si todos los tipos de contenido tuvieran los mismos campos, entonces podría simplemente imitarlos en esa anulación, pero dado que ese no es el caso, ¿cómo puedo obtener correctamente mi ruta con argumento para mostrar los resultados basados en ese vocabulario y mantener mi estructura de campo?
Lo siento si eso fue confuso. Un enlace al sitio para referencia http://www.buyagainbaby.com . El sitio actualmente usa taxonomía / término /% como una anulación, pero nuevamente, eso tiene que cambiar para que cada vista sea responsable de cómo representa su conjunto de resultados en función de la taxonomía.
fuente
Creo que hay varios factores a considerar en su configuración:
Cada ruta debe ser única para acceder a una página, un término, una vista o un panel de página. Si tiene dos piezas de contenido con la misma dirección, perderá el control de la pantalla. Drupal le da prioridad al término de la taxonomía sobre las Vistas, por lo que no se llamará. La definición de Vista usando taxonomía / término / # interceptará el término de taxonomía, pero como usted indicó, no muestra una URL significativa.
Las vistas no responden a los alias. Esto se debe a que lo primero que hace Drupal con cualquier solicitud es convertir el alias a un estándar de formato de nodo / nid para todo el contenido de Drupal. Entonces, en su caso, los vehículos / camiones se convierten al nodo / # asignado a la vista. La vista no puede tomar el contexto de un alias directamente.
Para obtener lo que quieres, debes hacer una de varias cosas.
Cree un menú con las devoluciones de llamada establecidas en la ruta de su vista. Esto generará la URL correcta y permitirá que la Vista responda.
Utilice paneles con el Administrador de páginas (en Ctools Suite) habilitado. Si define un Panel de página definido para la URL apropiada, puede colocar su Vista en el panel del panel o pasar el contexto desde la página del panel directamente a un panel de contenido de Vistas. Un panel de contenido no tiene una ruta. En su lugar, toma los contextos como la ruta, establecida directamente por el panel de la página, para crear su contenido. Esta serie de videos en nodeone.se hace un excelente trabajo al demostrar cómo usar los paneles y el administrador de páginas de manera efectiva.
Otra forma de obtener vistas de contenido en la pantalla es usar el módulo de fichas rápidas . No creo que se ajuste a su situación específica, pero también puede aprovechar directamente las vistas seleccionando las pestañas que defina para una página.
fuente
Las vistas tienen una vista integrada que emula y anula los términos de taxonomía. Simplemente habilítelo para anular listados de taxonomía con vistas.
fuente
De hecho, hice algo similar hace unos días. Mi solución no es elegante pero funciona. Lo que hice fue anular la visualización del término de taxonomía usando paneles, no vistas. Luego agregué todas mis diferentes vistas para cada término al área de contenido de los paneles. Como en mi caso cada vista tiene un filtro que lo limita a los resultados de un vocabulario particular, cuando visita la página de términos de taxonomía, muestra solo la vista para ese vocabulario particular.
Avíseme si necesita más información sobre cómo implementé esto.
fuente
WebbyKat ha propuesto una gran solución para establecer la ruta de la página en
/taxonomy/term/%
lugar de/categories/%
Funciona, pero reescribirá todos sus términos en una Vista.
fuente