site instalar google drupal7 drupal drupal-7

instalar - token drupal7



¿Dónde está Drupal 7 termpath? (5)

En Drupal 7, la palabra ruta significa algo muy específico, y aparentemente algo diferente de lo que Termpath se referiría, y no parece que se haya tomado alguna acción para reemplazar los tokens [*path] momento (aunque es un conocido problema): BIKESHED: Token para un árbol / jerarquía completa de un término o elemento de menú .

También parece que no va a convertirse en núcleo, y seguirá siendo parte de Token contrib, e incluso los proyectos # D7CX prometidos tendrán hasta el lanzamiento final para completar sus puertos Drupal 7, lo que podría ser factible hasta el final del proyecto. año.

El uso del módulo pathauto y token en Drupal 6 le permitió crear alias de url usando un patrón como el siguiente: [termpath-raw] / [title-raw].

Sin embargo, este no es el caso en Drupal 7. Entiendo que D7 todavía está en alfa, pero la beta parece estar aquí muy pronto y es mucho más agradable que D6 IMO.

¿Esta funcionalidad aún no está disponible?


Contendiente del módulo Token aquí. Aquí hay más en juego porque los tokens de taxonomía no son tan simples. Ahora son campos, y aún no hemos escrito compatibilidad con tokens para campos D7. Sin embargo, es algo que tenemos que hacer.


Me he estado rompiendo la cabeza sobre este tema durante varios meses y finalmente encontré una solución que parece funcionar:

http://drupal.org/node/741914#comment-5025862

En resumen, creé un módulo personalizado que expone algunos tokens adicionales (que se pueden usar en módulos como el título de la página o pathauto). En el código subyacente, los tokens se reemplazan por la ruta de taxonomía jerárquica completa del nodo o el término de taxonomía (hay tokens destinados a la url y otros destinados al título de la página).

La implementación real se puede encontrar en la discusión en la página enlazada.

Espero que esto pueda ayudar a algunas personas con sus propias implementaciones.


Puede usar el módulo taxonomy_entity_index con parches de la cola de problemas . Lo único realmente malo es que debe usar el comando Drush para construir el índice en el sitio de trabajo o de alguna manera reimportar el contenido del sitio actual.


No recuerdo en qué proyecto de Sandbox he encontrado esto, pero es la solución perfecta.

taxonomy_path_token.info

name = Taxonomy Path Token description = Taxonomy path token creates a path of parent taxonomy terms of a node package = Token core = 7.x dependencies[] = token

taxonomy_path_token.module

<?php /** * Implements hook_tokens(). */ function taxonomy_path_token_tokens($type, $tokens, array $data = array(), array $options = array()) { $replacements = array(); if (!empty($tokens[''taxonomy_path'']) && !empty($data[''node''])) { if(!empty($options[''sanitize''])) { $sanitize = $options[''sanitize'']; } else { $sanitize = FALSE; } $node = $data[''node'']; $replacements[$tokens[''taxonomy_path'']] = $sanitize ? check_plain(taxonomy_path_token_get_parents($node)) : taxonomy_path_token_get_parents($node); } if ($type == ''array'' && !empty($data[''array''])) { $array = $data[''array'']; foreach ($tokens as $name => $original) { switch ($name) { case ''join-path-except-first'': module_load_include(''inc'', ''pathauto''); $values = array(); foreach (element_children($array) as $key) { $value = is_array($array[$key]) ? render($array[$key]) : (string) $array[$key]; $value = pathauto_cleanstring($value); $values[] = $value; } array_shift($values); $replacements[$original] = implode(''/'', $values); break; } } } return $replacements; } /** * Implements hook_token_info(). */ function taxonomy_path_token_token_info() { $info[''tokens''][''node''][''taxonomy_path''] = array( ''name'' => t(''taxonomy_path''), ''description'' => t(''Custom taxonomy_path token.''), ); $info[''tokens''][''array''][''join-path-except-first''] = array( ''name'' => t(''Joined path''), ''description'' => t(''The array values each cleaned by Pathauto and then joined with the slash into a string that resembles an URL.''), ); return $info; } function taxonomy_path_token_get_parents($node) { module_load_include(''inc'',''pathauto'',''pathauto''); if(!empty($node->field_tags)){ $tid = current($node->field_tags); $tid = $tid[0][''tid'']; } else{ return ''''; } $parents = taxonomy_get_parents_all($tid); $paths = array(); foreach ($parents as $parent) { $paths[] = pathauto_cleanstring($parent->name); } $paths = array_reverse($paths); array_shift($paths); $pathauto = implode(''/'', $paths); return $pathauto; }

A continuación, agregue este "[nodo: taxonomy_path] / [node: title]" a sus patrones de pathauto.