This question relates to the another question
I followed the recommendations of Clive and wrote a hook_menu_alter to provide my callback.
function material_menu_taxonomy_page_callback($term) {
dsm('Entered material menu callback');
}
function material_menu_menu_alter () {
$items['taxonomy/term/%taxonomy_term']['page callback'] = 'material_menu_taxonomy_page_callback';
}
I placed a code line dsm("Altering");
in the callback to see where in the process the callback is being called, but it never shows up.
I am fairly certain that I have the code correct.
- The hook has the name of the custom module.
- The callback name is correct.
- the callback is in the same file as the hook
- I have turned the module off and then on so that I can be sure that Drupal knows about
mymodule_menu_alter
- And I have flushed the caches.
My assumption is that `mymodule_menu_alter' should change the callback in the menu item array and that the callback will be called each time the menu item is selected. That suggests that my dsm message should display at the top of the page requested by the menu.
All suggestions on what might be causing this problem are welcome!
UPDATED CODE: While Clive's test indicated in his answer worked, my revisions did not. Following Clive's answer recommendations I revised the code as follows:
material.info file contained in modules subdirectory = sites/all/modules/Custom/material:
name = Materials
description = Redefine the path for materials menu
package = CR-Hub
core = 7.x
; Includes
files[] = material.module
material.module file in same subdirectory:
function material_taxonomy_page_callback() {
drupal_goto('taxonomy/term/1');
//return 'Entered material menu callback';
}
function material_menu_alter (&$items) {
//return 'Entered Material Menu Alter';
$items['taxonomy/term/%taxonomy_term']['page callback'] = 'material_taxonomy_page_callback';
return $items;
}
When I select any menu item neither the drupal_go_to
or return 'any text'
lines redirect the selected path from the menu item. This problem looks like an error on my part, but