Infelizmente, até onde sei, o Drupal não pode fazer isso imediatamente. No entanto, você pode usar o módulo de itens de menu especiais para criar um novo item de menu e colocar "nolink" nas configurações do caminho.
infelizmente este módulo para a versão 6 e ninguém para 7, mas pode ser modificado. obrigado de qualquer maneira.
mohamad Salama
11
Em vez disso, faça uso de l('linktext', '', array('fragment' => ' ', 'external' => TRUE));acordo com a resposta de @ Sebastian.
Duncanmoo
"Itens especiais do menu" adiciona a <span title="" class="nolink">...</span>. O problema não passa de falta de CSS. Basta copiar o ul.menu a{}CSS e colá-lo para ul.menu li span.nolink{}. Está funcionando bem para mim. Mas desativou a seta suspensa ativada por li.expanded. :(
Mayeenul Islam
Desculpe postar tão tarde, mas acabei de passar por esse tópico. Em vez de alterar o css, você pode usar um pouco de js para envolver o nolink em uma tag de âncora com um hash. Com jQuery, seriajQuery("span.nolink").wrap("<a href='#'></a>");
Que tal permanecer na página em que você está? Por exemplo, tentando obter o link Pular para navegação para levá-lo à divisão de navegação, independentemente da página em que está? @shanabus
kine456 Apr
2
A melhor maneira de fazer isso, nenhum módulo ou plugin necessário!
O menu Cancelar permite configurar valores especiais para tags para uso no sistema de menus do Drupal 7. Você pode personalizar até 10 tags de nulo diferentes com qualquer valor que desejar e usá-los livremente no sistema de menus do Drupal.
...
Como um bônus adicional, e devido à funcionalidade deste módulo, você também pode usar âncoras reais como itens de menu que não servem a nenhum outro propósito que não os espaços reservados. Isso é realizado com uma tag void definida como javascript: void (0); ou até uma simples hash tag #. O benefício de usar este módulo em vez de special_menu_items para isso é que seus menus não exigirão nenhum estilo adicional para explicar as tags de extensão adicionadas usadas por special_menu_items e serão válidas para o W3C porque cada âncora deve ter um atributo href.
Acabei de encontrar o mesmo problema. Eu precisava adicionar programaticamente itens de menu com links de hash. Meu código:
// the URL with hash in it is in the form 'normal_part_of_url'#'hash_part_of_url'
$item = array('link_path'=>%normal_part_of_url%,'link_title'=>%your_link_title%,'menu_name'=>%menu_where_to_add_links%,'options'=> array('fragment'=>%hash_part_of_url%));
menu_link_save($item);
O uso das funções de tradução do Drupals também funciona.
/**
* Implements hook_menu().
*
* Defines a valid link to use when creating menu items.
*/function greenacorn_menu(){
$items['<main-content>']= 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 greenacorn_menu_link_alter(&$item, $menu){if($item['link_path']=='<main-content>'){
$item['options']['alter']= TRUE;}}/**
* Implements hook_translated_menu_link_alter().
*
* Refactors the link to go to the fragment #main-content.
*/function greenacorn_translated_menu_link_alter(&$item, $map){if($item['link_path']=='<main-content>'){
$item['href']='';
$item['localized_options']['fragment']='main-content';}}
Por favor, não poste respostas "somente código". Embora isso possa resolver o problema, ele não explica ao leitor por que ele resolve o problema ou o que ele fornece em comparação com as alternativas aqui .
Shawn Conn
0
instale itens de menu especiais e menu DHTML para menus hierárquicos:
adicione seu vocabulário x-example e adicione seus termos
clique em modificar exemplo x do que na seção do menu de taxonomia definir local do menu
vá para os blocos defina o menu para um bloco
no menu modificação administrativa, você vê os termos adicionados automaticamente
clique em modificar um item de menu e depois <void>no destino
agora volte para sua página inicial e você verá que o item de menu que modificamos no clique não está em lugar nenhum
Bem-vindo às perguntas e respostas do Drupal. Seria mais útil explicar como usar itens de menu especiais em vez de apenas colar uma imagem. Você pode considerar melhorar sua resposta. Obrigado.
Respostas:
Infelizmente, até onde sei, o Drupal não pode fazer isso imediatamente. No entanto, você pode usar o módulo de itens de menu especiais para criar um novo item de menu e colocar "nolink" nas configurações do caminho.
fonte
l('linktext', '', array('fragment' => ' ', 'external' => TRUE));
acordo com a resposta de @ Sebastian.<span title="" class="nolink">...</span>
. O problema não passa de falta de CSS. Basta copiar oul.menu a{}
CSS e colá-lo paraul.menu li span.nolink{}
. Está funcionando bem para mim. Mas desativou a seta suspensa ativada porli.expanded
. :(jQuery("span.nolink").wrap("<a href='#'></a>");
Siga o relatado em um comentário para a
l()
documentação .No Drupal 7, defina "HTML" como e
TRUE
, em seguida, acrescente o caractere de hash.fonte
http://drupal.org/node/123103#comment-4955236
fonte
<front>#gohere
. Agradável! :)Tente usar o módulo Void Menu :
É uma solução muito boa!
fonte
Acabei de encontrar o mesmo problema. Eu precisava adicionar programaticamente itens de menu com links de hash. Meu código:
fonte
Apenas definindo
external
paraTRUE
fazer isso por mim. Testado no Druapl 7.32.l('Some Name', '#', array('external' => TRUE));
fonte
O uso das funções de tradução do Drupals também funciona.
fonte
Você pode adicionar um link de hash ao menu usando o código acima.
fonte
fonte
instale itens de menu especiais e menu DHTML para menus hierárquicos:
<void>
no destinofonte