Saya tidak yakin apa yang saya lakukan salah di sini. Blok yang menampung tautan kategori dirujuk sebagai navigasi.bagian. Saya pikir dengan mengarahkan argumen berikut ke wadah saya akan dapat membuat tautan baru di bawahnya. Bantuan apa pun dihargai.
<referenceContainer name="navigation.sections">
<block class="Magento\Framework\View\Element\Html\Links" name="mylink">
<arguments>
<argument name="label" xsi:type="string">Mylink</argument>
<argument name="path" xsi:type="string">mypath</argument>
<argument name="css_class" xsi:type="string">mycss</argument>
</arguments>
</block>
</referenceContainer>
Jawaban:
[EDIT]
Rupanya, dalam versi terbaru M2 ini tidak berfungsi lagi.
Terima kasih kepada Max karena telah menunjukkan ini.
Untuk versi yang lebih baru, Anda perlu menambahkan plugin untuk
Magento\Theme\Block\Html\Topmenu
bukan pengamat.Tambahkan ini ke
etc/frontend/di.xml
dan buat file kelas plugin
[Namespace]/[Module]/Plugin/Block/Topmenu.php
[/ EDIT]
Jawaban asli:
Anda dapat menambahkan elemen ke menu atas menggunakan acara
page_block_html_topmenu_gethtml_before
.Jadi, Anda perlu membuat modul dengan file-file ini (semua file harus dalam
app/code/[Namespace]/[Module]
):etc/module.xml
- file deklarasi modulregistration.php
- file pendaftaranetc/frontend/events.xml
- file pernyataan acaraObserver/Topmenu.php
- pengamat yang sebenarnyaSekarang jalankan di cli
php bin/magento setup:upgrade
untuk menginstal modul dan Anda baik untuk pergi.sumber
'is_active'
. Silakan tambahkan beberapa contoh. saya ingin tautan aktif di halaman ini.$menu->addChild($node)
lebih dari sekali, yang terakhir menimpa yang lain. Ini hanya menampilkan satu menu (yang terakhir).Mengapa semua orang selalu ingin menulis modul. Saya melakukan ini di saya
layout.xml
dan itu bekerja seperti pesona:sumber
Solusi lain di luar membuat modul adalah menimpa topmenu.phtml. Saya akan mencatat bahwa solusi yang disediakan oleh @Marius adalah cara terbaik untuk melakukan ini jika Anda bermaksud untuk tautan Anda untuk mewarisi kelas navigasi. Ini ditampilkan di menu seluler Magento, hanya tanpa css yang tepat. Anda bisa menggunakan argumen css_class untuk memberi gaya yang sesuai.
YourTheme / Magento_Theme / templates / html / topmenu.phtml
YourTheme / Magento_Theme / layout / default.xml
sumber
Jawaban ini disediakan oleh Marius ♦ Saya baru saja mengubahnya untuk menambahkan kategori anak di menu tab kategori Anda dapat merujuk jawaban Marius ♦. Saya baru saja memodifikasi file Topmenu.php anak untuk menambahkan kategori anak di kategori utama
Anda perlu membuat simpul untuk kategori induk dan untuk kategori anak dan setelah itu Anda dapat menetapkan kategori anak ke kategori induk dengan menggunakan metode addChild di sini adalah contoh
sumber
Topmenu
. Seperti ketika saya mengarahkan mouse pada Link maka itu menunjukkan divMenggunakan jawaban di atas oleh Marius saya menambahkan item submenu. Saya juga menunjukkan cara Anda dapat mengedit pohon sebelum html dibuat dan kemudian bagaimana mengedit html langsung setelah itu dibuat. Ini bekerja di Magento 2.1. Perbarui Topmenu.php dengan ini:
sumber
Ingin menambahkan tautan ke navigasi teratas di dalam
<header>
Menambahkan tautan ke halaman CMS, Galeri
Edit / Tempatkan default.xml di sini:
Tambahkan kode berikut:
Ini menambahkan tautan ke halaman CMS, Galeri, dengan pengaturan berikut:
Tambahkan gaya berikut untuk memastikan tautan baru sejajar dengan benar:
(Produk diatur sebagai kategori sebagai contoh)
sumber
Jika Anda ingin menambahkan Halaman CMS atau yang lain ini akan lebih baik
https://github.com/Mestrona/Mestrona_CategoryRedirect
Bekerja untuk saya :)
sumber
Bagi mereka yang ingin menambahkan
is_active
ekspresi, terutama @bb Blackbeard yang bertanya di atas.Saya sudah terbiasa menautkan kontak dan itu akan berfungsi dengan modul khusus juga karena saya menautkan ke satu.
Semoga ini bisa membantu siapa saja.
sumber
Ini juga merupakan pilihan yang baik:
sumber
Hanya untuk tautan menu navigasi, tidak ada banyak langkah untuk dicapai, saya telah menemukan tutorial singkat tentang melakukan itu, itu menyiratkan tema yang menimpa
topmenu.phtml
file dariMagento_Theme
modul: https://linkstraffic.net/adding-custom- menu-item-inside-magento2 / Saya sudah mengujinya dengan sukses, jadi saya bagikan dengan kalian.sumber