Czy istnieje sposób na dodanie skrótu do menu w menu drupal, aby po prostu utworzyć pozycję menu, która przeskakuje do kotwicy lub identyfikatora na stronie?
Niestety, o ile mi wiadomo, Drupal nie może tego zrobić po wyjęciu z pudełka. Możesz jednak użyć modułu Specjalne pozycje menu , aby utworzyć nowy element menu i umieścić „nolink” w ustawieniach ścieżki.
niestety ten moduł dla wersji 6 i nikogo dla 7, ale można go modyfikować. w każdym razie dzięki.
mohamad salama,
1
Zamiast tego skorzystaj z l('linktext', '', array('fragment' => ' ', 'external' => TRUE));odpowiedzi @ Sebastiana.
Duncanmoo,
„Specjalne pozycje menu” dodaje <span title="" class="nolink">...</span>. Problemem jest tylko brak CSS. Po prostu skopiuj ul.menu a{}CSS i wklej je ul.menu li span.nolink{}. Dla mnie działa dobrze. Ale wyłącza strzałkę rozwijaną włączoną przez li.expanded. :(
Mayeenul Islam,
Przepraszam, że opublikowałem tak późno, ale właśnie natknąłem się na ten wątek. Zamiast zmieniać css, możesz użyć małego js, aby owinąć nolink w tagu kotwicy hash. Z jQuery byłobyjQuery("span.nolink").wrap("<a href='#'></a>");
Co powiesz na pozostanie na stronie, na której jesteś? Na przykład próbujesz uzyskać link Przejdź do nawigacji, aby przejść do div nawigacji bez względu na to, na której stronie jesteś? @shanabus
kine456
2
Najlepszy sposób, aby to zrobić, nie potrzebujesz modułu ani wtyczki!
Menu Void pozwala skonfigurować specjalne wartości dla tagów do użycia w systemie menu Drupal 7. Możesz dostosować do 10 różnych pustych tagów dowolną wartością i swobodnie korzystać z nich w systemie menu Drupal.
...
Jako dodatkowy bonus i ze względu na funkcjonalność tego modułu, możesz również używać rzeczywistych kotwic jako pozycji menu, które służą jedynie symbolom zastępczym. Dokonuje się tego za pomocą tagu void ustawionego na javascript: void (0); lub nawet prosty tag skrótu #. Zaletą korzystania z tego modułu zamiast special_menu_items jest to, że twoje menu nie będą wymagały żadnej dodatkowej stylizacji, aby uwzględnić dodane tagi zakresu używane przez special_menu_items, i będą ważne w W3C, ponieważ każda kotwica musi mieć atrybut href.
Właśnie napotkałem ten sam problem. Musiałem programowo dodać elementy menu za pomocą łączy mieszających. Mój kod:
// 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);
/**
* 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';}}
Nie publikuj odpowiedzi „tylko kod”. Chociaż może to rozwiązać problem, nie wyjaśnia czytelnikowi, dlaczego rozwiązuje problem , ani co zapewnia w porównaniu z alternatywami tutaj .
Shawn Conn
0
zainstaluj specjalne pozycje menu i menu DHTML dla menu hierarchicznych, a następnie:
dodaj swoje x-przykładowe słownictwo i dodaj do niego swoje warunki
kliknij przycisk modyfikuj x-przykład niż w sekcji menu systematyki ustaw lokalizację menu
przejdź do bloków ustaw menu na blok
w modyfikacji administratora menu zobaczysz warunki dodane automatycznie
kliknij zmodyfikuj element menu, a następnie wklej go <void>w celu
teraz wróć do strony głównej, a zobaczysz, że element menu, który zmodyfikowaliśmy, kliknij, aby nigdzie nie iść
Witamy w Drupal Q&A. Bardziej przydatne byłoby wyjaśnienie, jak używać specjalnych elementów menu zamiast wklejania zdjęcia. Możesz rozważyć ulepszenie swojej odpowiedzi. Dziękuję Ci.
Odpowiedzi:
Niestety, o ile mi wiadomo, Drupal nie może tego zrobić po wyjęciu z pudełka. Możesz jednak użyć modułu Specjalne pozycje menu , aby utworzyć nowy element menu i umieścić „nolink” w ustawieniach ścieżki.
źródło
l('linktext', '', array('fragment' => ' ', 'external' => TRUE));
odpowiedzi @ Sebastiana.<span title="" class="nolink">...</span>
. Problemem jest tylko brak CSS. Po prostu skopiujul.menu a{}
CSS i wklej jeul.menu li span.nolink{}
. Dla mnie działa dobrze. Ale wyłącza strzałkę rozwijaną włączoną przezli.expanded
. :(jQuery("span.nolink").wrap("<a href='#'></a>");
Postępuj zgodnie z tym, co zgłoszono w komentarzu do
l()
dokumentacji .W Drupal 7 ustaw „HTML” na
TRUE
, a następnie dodaj znak skrótu.źródło
http://drupal.org/node/123103#comment-4955236
źródło
<front>#gohere
. Ładny! :)Spróbuj użyć modułu Void Menu :
To bardzo miłe rozwiązanie!
źródło
Właśnie napotkałem ten sam problem. Musiałem programowo dodać elementy menu za pomocą łączy mieszających. Mój kod:
źródło
Tylko ustawienie
external
sięTRUE
robi to za mnie. Testowane w Druapl 7.32.l('Some Name', '#', array('external' => TRUE));
źródło
Działa także funkcja tłumaczenia Drupals.
źródło
Możesz dodać link skrótu do menu, używając powyższego kodu.
źródło
źródło
zainstaluj specjalne pozycje menu i menu DHTML dla menu hierarchicznych, a następnie:
<void>
w celuźródło