Below is the code which shows how we can use the hash link, once it has been declared in our custom module.
Create a module with
Create a module with
.info and .module extensions. In your .module extension, use the below mention code./**
* Implements hook_menu().
*
* Defines a valid link to use when creating menu items.
*/
function MYMODULE_menu() {
$items = array();
$items['hash_link'] = array(
'page callback' => 'drupal_not_found',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Implements hook_menu_link_alter().
*
* Flags the link to be altered at runtime.
*
* Note: Changes here would be saved back to the database.
*/
function MYMODULE_menu_link_alter(&$item, $menu) {
if ($item['link_path'] == 'hash_link') {
$item['options']['alter'] = TRUE;
}
}
/**
* Implements hook_translated_menu_link_alter().
*
* Refactors the link to go to the fragment #hash_link.
*/
function MYMODULE_translated_menu_link_alter(&$item, $map) {
if ($item['link_path'] == 'hash_link') {
$item['href'] = '';
$item['localized_options']['fragment'] = 'hash_link';
}
}
Once you have activated your module, go to your menu where you want to add the hash link, for instance I would like to add hash link in my main menu so I will access admin/structure/menu/manage/main-menu/add and there I will create a menu such as "About" with path as "hash_link"
No comments :
Post a Comment