Jump to content

Archived

This topic is now archived and is closed to further replies.

Anniekin

Drupal Taxonomy_Menu Module Patch

Recommended Posts

 

I am trying to override the urls that taxonomy_menu produce.

 

It changes urls such as

 

drupalSite.com/forum/17

 

with a 'category' urls such as

 

drupalSite.com/1/2/17

 

I want to switch 'category' with 'forum' in the path and strip the 1/2/ so that the output matches the original url again.

 

Thank you for your insight.

 

[attachment deleted by admin]

Share this post


Link to post
Share on other sites

This is the code I have been focusing my efforts on:

 

function _taxonomy_menu_menu() {

  $items['admin/settings/taxonomy_menu'] = array(

    'access arguments'    => array('administer site configuration'),

    'description'        => t('Global configuration of taxonomy menu functionality.'),

    'file'                => 'taxonomy_menu.inc',

    'page callback'      => 'drupal_get_form',

    'page arguments'      => array('_taxonomy_menu_admin'),

    'path'                => 'admin/settings/taxonomy_menu',

    'title'              => t('Taxonomy Menu settings'),

    'type'                => MENU_NORMAL_ITEM

  );

 

  foreach (taxonomy_get_vocabularies() as $vocab) {

    if (variable_get('taxonomy_menu_show_'. $vocab->vid, TAXONOMY_MENU_NONE)) {

      $path =  variable_get('taxonomy_menu_display_page', 'category') .'/'. $vocab->vid;

      $items[$path] = array(

        'access arguments'    => array('access content'),

        'file'            => 'taxonomy_menu.inc',

        'page callback'  => '_taxonomy_menu_page',

        'title'          => t($vocab->name),

        'weight'          => $vocab->weight

      );

 

      $tree = taxonomy_get_tree($vocab->vid);

      $old_depth = -1;

      $old_path = $path;

      foreach ($tree as $term) {

        if ($term->depth <= $old_depth) {

          $slashes_to_remove = $old_depth - $term->depth + 1;

          for ($i = 0; $i < $slashes_to_remove; $i++) {

            $old_path = substr($old_path, 0, strrpos($old_path, '/'));

          }

        }

        $path      = $old_path .'/'. $term->tid;

        $old_depth  = $term->depth;

        $old_path  = $path;

 

        $num = taxonomy_term_count_nodes($term->tid);

 

        if (variable_get('taxonomy_menu_hide_empty', FALSE) == FALSE or $num != 0) {

          $name = t($term->name);

          if (variable_get('taxonomy_menu_display_num', FALSE) == TRUE) {

            $name .= ' ('. $num .')';

          }

          $items[$path] = array(

            'access arguments' => array('access content'),

            'file'            => 'taxonomy_menu.inc',

            'page callback'  => '_taxonomy_menu_page',

            'description'    => t($term->description),

            'title'          => $name,

            'weight'          => $term->weight,

          );

        }

      }

    }

  }

 

  return $items;

}

Share this post


Link to post
Share on other sites

  • Admin > Site Building > Modules
  • Enable the 'Path' Module.
  • When creating, editing or whatever to a page/story/comment etc, scroll to URL Path Settings and adjust accordingly to whatever you want.

 

I'm not sure if this is what you are looking for though, so I apologise if it is not. Either way I hope that helps. ;)

 

~Liam

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.