Bagaimana saya bisa menambahkan tautan Login ke menu "Navigasi Utama"?
Ketika seorang pengguna mengklik tautan, itu akan membawa mereka ke halaman / user / login. Setelah mereka masuk, tautannya harus berubah menjadi "Keluar" dan bukan "Masuk".
Apakah ada cara untuk menambahkan tautan seperti itu?
8
navigation
GTS Joe
sumber
sumber
Jawaban:
Kami tidak perlu bergantung pada tema Bootstrap atau kemampuan pemrograman kami untuk memindahkan tautan " Keluar " sistem pada menu lain mana pun. Drupal memungkinkan kita untuk membuatnya dengan mudah.
Selain itu kami hanya dapat membuat dua tautan " Log in me here please " khusus dan " Keluarkan aku dari sana " dengan jalur / user / login dan / user / logout secara relatif. Ini lebih baik karena tidak seperti sistem "Log out" tautannya memberi kita untuk membuat banyak link masuk / keluar yang kita inginkan dengan atribut khusus. Saat pengguna masuk, mereka hanya akan melihat tautan " Keluar " dan sebaliknya. Satu-satunya peringatan adalah bahwa Anda mungkin akan melihat kedua tautan bersamaan karena Anda masuk pada saat menguji tautan. Dan ini normal karena Anda memiliki izin " Tautan ke halaman mana saja " sebagai administrator. Nonaktifkan izin ini dan coba lagi.
sumber
1) Edit menu , dan tambahkan Logout Link.
2) Sekarang yang harus Anda lakukan adalah mengkonfigurasi blok tautan menu utama Anda
Kemudian di Peran, centang tanda ☑ Pengguna terotentikasi dan juga ☑ Administrator
3) Sekarang buat Menu lain (
/admin/structure/menu
) yang memiliki tautan "login" dan semua tautan menu lain yang Anda butuhkan.4) Lalu pergi ke blok (
/admin/structure/block
) di Menu Utama (Asumsikan Anda menggunakan Bartik, mungkin memiliki nama yang berbeda jika Anda menggunakan tema khusus) klik add, dan tambahkan Menu yang baru Anda buat dan konfigurasikan. Kali ini untuk Peran, hanya tandai ☑ Anonimsumber
:)
Ada cara yang lebih baik untuk melakukan ini. Yang ingin Anda lakukan adalah membuat plugin Anda sendiri dan memperluas kelas MenuLinkDefault. Tempat terbaik untuk melihat adalah modul Drupal / Pengguna yang menyediakan implementasi LoginLogoutMenuLink.
Anda dapat menentukan plugin Anda sendiri jika Anda ingin misalnya mengubah teks atau logika. Atau, Anda bisa mengarahkannya ke plugin yang sudah ada untuk menghemat waktu dan cukup meletakkan implmee yang ada. Berikut ini beberapa contoh kode:
Versi sederhana:
Membuat
my_module/my_module.links.menu.yml
Versi lanjutan:
my_module/src/Plugin/Menu/
folder Andanamespace Drupal\my_module\Plugin\Menu;
class LoginLogoutMenuLink extends MenuLinkDefault
menjadiclass MyLoginLogoutMenuLink extends MenuLinkDefault
my_module.links.menu.yml
per sesuai di atas tetapi pastikan Anda memberi nama kelas seperti yang Anda beri nama sekarang dan arahkan ke modul Anda. Lihat contoh di bawah ini.Anda
my_module/src/Plugin/Menu/MyLoginLogoutMenuLink.php
harus terlihat sebagai berikut:Anda
my_module/my_module.links.menu.yml
harus terlihat sebagai berikut:Saya harap ini membantu seseorang.
sumber
Anda dapat melakukan ini dengan tema Bootstrap 3 Drupal 8 karena tema itu menyediakan fitur ini secara default. Saya memposting gambar, dari situs percobaan 8 drupal saya. Satu dengan halaman Login dan satu dengan halaman Logout.
Apakah Anda terlihat seperti itu?
Ikuti langkah-langkah berikut.
1. Pergi ke Struktur> Blok. Dan pastikan konfigurasi berikut di bagian Navigasi.
2. Buka Struktur> Menu> Menu Akun Pengguna dan nonaktifkan Akun saya, seperti yang ditunjukkan pada gambar berikut.
Jadi, menu Navigasi Utama Anda hanya akan menampilkan Login dan Logout, seperti yang telah saya posting pada pasangan gambar pertama.
sumber
Jika Anda menggunakan subtitle Bootstrap, Anda dapat memodifikasi kode ini untuk memenuhi kebutuhan Anda:
Masukkan kode ini di page.tpl.php di subtitle / templates / di dalam blok, di mana Anda perlu:
Saya meletakkannya setelah 90-line, dalam hal ini tidak runtuh pada perangkat seluler, jika perlu dilipat setelah:
sumber
Secara pemrograman, Anda dapat melakukan ini melalui
.links.menu.yml
file modul Anda sendiri . Tempat-tempat berikut menempatkan tautan ini di menu "Utama":Karena "route_name" yang dihubungi masing-masing sudah menentukan persyaratan masuk / keluar (lihat https://api.drupal.org/api/drupal/core%21modules%21user%21user.routing.yml/8.4.x ), tautan akan ditampilkan tergantung pada status login.
sumber