2011-11-29 18 views
5

Tengo un Drupal vocabulario 7,9 taxonomía de acuerdo con el siguiente esquema:Drupal 7: Pathauto términos de la taxonomía jerárquica patrón

category-1 
    category-1 > subcategory-1-1 
    category-1 > subcategory-1-2 
    category-1 > subcategory-1-3 
category-2 
    category-2 > subcategory-2-1 

Quiero reflejar esta jerarquía de la taxonomía en mi página de ruta URL como

category-1/subcategory-1-1/page-123 

Para lograr esto estoy usando el modul Pathauto versión 7.x-1.0. pero no sé qué patrón tengo que usar.

Actualmente estoy usando [node:%field_taxonomy%]/[node:title] pero con este patrón la ruta de la url es solo subcategory-1-1/page-123, por lo que no se refleja la jerarquía completa. ¿Hay un patrón de árbol de taxonomía? No puedo encontrar información actualizada sobre esto y los patrones válidos parecen cambiar en cada versión de Pathauto.

Respuesta

9

Después de algunas pruebas y errores, se me ocurrió una forma que funciona bastante bien para mí al crear rutas de URL personalizadas usando términos de taxonomía. Todo lo que necesita hacer es instalar un módulo adicional llamado Entity API. Puede encontrarlo aquí http://drupal.org/project/entity. Después de la instalación, debe habilitar tanto la API de entidad como los módulos de tokens de entidad. Los tokens de entidad proporcionan reemplazos de token para todas las propiedades que no tienen tokens y son conocidas por la entidad API.

Primero, ve y crea un nuevo vocabulario de taxonomía. Vamos a llamarlo "Categoría" y agregar algunos términos. Luego, para un tipo de contenido que desea tener una ruta de URL personalizada, necesita crear un nuevo campo de referencia de términos. No sé por qué, pero no está funcionando con el estándar field_tags. Por lo tanto, asegúrese de crear uno nuevo. Vamos a llamarlo categoría y usar nuestro vocabulario previamente creado "Categoría" como fuente. Y aquí hay otra cosa que debe tener en cuenta: debe etiquetar este campo con una letra pequeña; de lo contrario, no funciona por una razón desconocida para mí;). Acabará con un campo field_category.

Ir a la página de administración de alias de URL -> Patrones. Amplíe los patrones de reemplazo para las rutas de Contenido -> expandir Nodos -> verá la categoría en la parte inferior, amplíelo. Bien, ahora estás listo para usar tokens de términos de taxonomía.

Use algo como [nodo: campo-categoría: nombre]/[nodo: título] donde [nodo: campo-categoría: nombre] es el nombre del término de taxonomía y tendrá una ruta como mysite.com/term/título.

Por cierto, uso Pathauto 7.x-1.0-beta1, Token 7.x-1.0-beta2 y Entity API 7.x-1.0-beta8.

¡Buena suerte!))

http://drupal.org/node/1044980#comment-4562844

Puede crear URL con este patrón: [nodo: campo-categoría: Vocabulario: nombre]/[nodo: campo-categoría: los padres: Ingreso: /]/[nodo: Campo -category: name]/[node: title]

+1

Muchas gracias por su solución detallada. Ahora terminé con '[node: field-category: parents: join: /]/[node: field-category: name]/[node: title]'. ¡Funciona bien! –

0

Por lo que yo sé, Drupal + Token + PathAuto básico no puede crear rutas, como usted quiere.

+0

¿Conoces algún otro módulo para resolver este problema? –

+0

Entity API funciona –

2

en su situación particular se puede ir lejos con el uso siguiente patrón para los artículos de taxonomía:

[término: Vocabulario: nombre]/[plazo: los padres: los padres]/[plazo: los padres]/[término: nombre ]

Y para el patrón de nodo:

[nodo:% field_taxonomy% url: ruta]/[node: title]

No es inconveniente tho - término patrón manejar hasta tres niveles en este caso. Entonces no puedes hacerlo ilimitado con este enfoque. (Creo que puedes agregar un término: parent: parent: ... tantos como quieras).

Aunque, manejará MENOS de 3 niveles bien (solo probado para asegurarse).

+1

Gracias Pavel. Pero el patrón de nodo parece no ser válido. No hay token url para% field_taxonomy% (no listado bajo patrones) Patrón probado: [nodo: categoría_campo: url: ruta]/[nodo: título] Versión Pathauto: 7.x-1.0 Versión testigo: 7 .x-1.0-beta7 ¿Qué versión de módulo usas? –

+0

Esto funcionó para mí. Desearía que hubiera una ficha inteligente que pudieras usar en lugar de tener que especificar la profundidad máxima. – Evans

+0

Impresionante, pasé una hora intentando y error. Me acerqué pero no tuve éxito, entonces decidí buscarlo en Google y encontré esta respuesta. –

0

Compruebe mi respuesta here. Puede usar el módulo de índice de entidad taxonómica para lograr dicho comportamiento.

Cuestiones relacionadas