Apakah ada cara untuk menambahkan tautan hash dalam menu di bawah menu drupal untuk hanya membuat item menu yang melompat ke jangkar atau id pada halaman?
Sayangnya sejauh yang saya ketahui, Drupal tidak dapat melakukan ini di luar kebiasaan. Namun, Anda dapat menggunakan modul item menu Khusus untuk membuat item menu baru, dan tempatkan "nolink" di pengaturan jalur.
"Item menu spesial" menambahkan <span title="" class="nolink">...</span>. Masalahnya tidak lain adalah kurangnya CSS. Cukup salin ul.menu a{}CSS dan tempel ul.menu li span.nolink{}. Ini bekerja dengan baik untuk saya. Tapi itu menonaktifkan panah drop-down yang diaktifkan oleh li.expanded. :(
Mayeenul Islam
Maaf untuk mengirim terlambat, tapi saya baru saja menemukan utas ini. Alih-alih mengubah css, Anda bisa menggunakan js kecil untuk membungkus nolink di tag jangkar dengan hash. Dengan jQuery, itu akan menjadijQuery("span.nolink").wrap("<a href='#'></a>");
Bagaimana dengan tetap di halaman tempat Anda berada? Misalnya, mencoba mendapatkan tautan Lewati ke Navigasi untuk membawa Anda ke div navigasi terlepas dari halaman apa yang sedang Anda buka? @shanabus
kine456
2
Cara terbaik untuk melakukannya, tidak perlu modul atau plugin!
Menu Void memungkinkan Anda untuk mengonfigurasi nilai-nilai khusus pada tag untuk digunakan dalam sistem menu Drupal 7. Anda dapat menyesuaikan hingga 10 tag void yang berbeda dengan nilai apa pun yang Anda inginkan dan menggunakannya secara bebas di dalam sistem menu Drupal.
...
Sebagai bonus tambahan, dan karena fungsionalitas modul ini, Anda juga dapat menggunakan jangkar aktual sebagai item menu yang tidak memiliki tujuan lain selain placeholder. Ini dilakukan dengan tag void yang diatur ke javascript: void (0); atau bahkan tag hash # sederhana. Keuntungan menggunakan modul ini daripada special_menu_items untuk ini adalah bahwa menu Anda tidak akan memerlukan tambahan gaya untuk memperhitungkan tag rentang tambahan yang digunakan oleh special_menu_items, dan akan menjadi W3C valid karena setiap jangkar harus memiliki atribut href.
Baru saja menemui masalah yang sama. Saya perlu menambahkan item menu dengan hash-link secara terprogram. Kode saya:
// 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);
Menggunakan fungsi terjemahan Drupals juga berfungsi.
/**
* 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';}}
Tolong jangan posting jawaban "hanya kode". Meskipun ini dapat memecahkan masalah, itu tidak menjelaskan kepada pembaca mengapa itu memecahkan masalah , atau apa yang disediakannya dibandingkan dengan alternatif di sini .
Shawn Conn
0
instal item menu Spesial dan Menu DHTML untuk menu hierarkis kemudian:
tambahkan kosakata x-contoh Anda dan tambahkan ke dalamnya istilah Anda
klik ubah x-contoh daripada di bagian menu taksonomi set lokasi menu
pergi ke blok atur menu ke blok
di menu admin modifikasi Anda melihat istilah ditambahkan secara otomatis
klik pada memodifikasi item menu lalu lewati ini <void>di target
sekarang kembali ke halaman rumah Anda dan Anda akan melihat bahwa item menu yang telah kami modifikasi di klik itu tidak pergi ke mana pun
Selamat datang di Tanya Jawab Drupal. Akan lebih bermanfaat untuk menjelaskan cara menggunakan item menu khusus daripada hanya menempelkan gambar. Anda dapat mempertimbangkan untuk meningkatkan jawaban Anda. Terima kasih.
Jawaban:
Sayangnya sejauh yang saya ketahui, Drupal tidak dapat melakukan ini di luar kebiasaan. Namun, Anda dapat menggunakan modul item menu Khusus untuk membuat item menu baru, dan tempatkan "nolink" di pengaturan jalur.
sumber
l('linktext', '', array('fragment' => ' ', 'external' => TRUE));
sebagai per @ tanggapan Sebastian.<span title="" class="nolink">...</span>
. Masalahnya tidak lain adalah kurangnya CSS. Cukup salinul.menu a{}
CSS dan tempelul.menu li span.nolink{}
. Ini bekerja dengan baik untuk saya. Tapi itu menonaktifkan panah drop-down yang diaktifkan olehli.expanded
. :(jQuery("span.nolink").wrap("<a href='#'></a>");
Ikuti apa yang dilaporkan dalam komentar untuk
l()
dokumentasi .Di Drupal 7, atur "HTML" ke
TRUE
, lalu tambahkan karakter hash.sumber
http://drupal.org/node/123103#comment-4955236
sumber
<front>#gohere
. Bagus! :)Coba gunakan modul Void Menu :
Ini solusi yang sangat bagus!
sumber
Baru saja menemui masalah yang sama. Saya perlu menambahkan item menu dengan hash-link secara terprogram. Kode saya:
sumber
Hanya pengaturan
external
untukTRUE
melakukannya untuk saya. Diuji dalam Druapl 7.32.l('Some Name', '#', array('external' => TRUE));
sumber
Menggunakan fungsi terjemahan Drupals juga berfungsi.
sumber
Anda dapat menambahkan tautan hash ke menu menggunakan kode di atas.
sumber
sumber
instal item menu Spesial dan Menu DHTML untuk menu hierarkis kemudian:
<void>
di targetsumber