Saya ingin menghapus tautan berikut di panel kiri dasbor akun pelanggan?
- aplikasi saya
- Daftar Hadiah
- Poin Hadiah
- Tautan Kartu Hadiah
Saya bekerja di Magento 1.7 Community Edition. Bantuan apa pun akan dihargai.
magento-1.7
customer
Oshan
sumber
sumber
Jawaban:
Langkah 1: Buka (yourPackage / YourTemplate / customer / akun / navigation.phtml)
Langkah 2: Ganti baris di bawah ini
Cuplikan kode di atas berisi cara untuk menghapus semua tautan navigasi. Semoga ini bisa membantu semua.
Referensi Tautan: https://github.com/Aproducktion/Magento-Remove-Dashboard-Links
sumber
If you can't
??Saya melihat 2 opsi di sini.
Pertama dan termudah: Cukup temukan file tata letak yang menambahkan item menu ini dan beri komentar kode untuknya.
Misalnya
My applications
ditambahkanapp/design/frontend/{interface}/{theme}/layout/oauth.xml
melalui suatu bagian XMLMetode kedua, bahwa saya tidak 100% yakin itu akan berhasil adalah menambahkan xml ini di dalam
local.xml
file layout tema Anda:Anda perlu menambahkan satu
<action>
tag untuk setiap tautan yang ingin Anda hapus.Ada juga opsi ke-3, jika Anda tidak menggunakan modul sama sekali, cukup nonaktifkan mereka. Ini juga dapat meningkatkan kinerja.
Untuk ini buat file ini:
app/etc/modules/Zzzz.xml
dengan konten ini:Anda mungkin memiliki beberapa masalah di sini adalah beberapa modul lain yang ingin Anda gunakan, tergantung pada modul yang ingin Anda nonaktifkan.
sumber
Mage_Customer_Block_Account_Navigation
tidak diwarisi dariMage_Page_Block_Template_Links
.Ada ekstensi FOSS yang menambahkan opsi backend ke tautan akun jarak jauh.
Ada modul kedua (juga FOSS) yang menambahkan
removeLink
metode sehingga Anda dapat menggunakan yang berikut dilocal.xml
Penafian: Saya adalah pengembang ekstensi kedua.
sumber
Solusi yang paling sederhana (pelaksanaan dan penggunaan) saya telah menemukan adalah untuk menggantikan
Mage_Customer_Block_Account_Navigation
diapp/code/local
dan menambahkanremoveLinkByName
metode, yang tidak sama dengan apa jawaban Oshan ini tidak, tetapi dapat digunakan dari file layout. Penulisan ulang kelas yang lebih tradisional juga akan berfungsi, tetapi berpotensi menyebabkan konflik dengan plugin.Peringatan! Belum dicoba!
Solusi yang lebih rumit adalah dengan menulis modul Anda sendiri dengan
Block
yang meluasMage_Customer_Block_Account_Navigation
dan mencakupremoveLinkByName
metode. Agar ini berfungsi, Anda harus menghapus / membatalkan setcustomer_account_navigation
blok dan menggantinya dengan yang untuk modul baru Anda. Sejak saat itu, setiap kalicustomer_account_navigation
direferensikan dalam tata letak, Anda akan mendapatkan instance denganremoveLinkByName
.sumber
Solusi cepat, untuk menghapus semua item daftar Akun Saya di bawah Pesanan Saya, termasuk Perjanjian Penagihan, Profil Berulang, Aplikasi Saya dan Produk Saya Yang Dapat Diunduh. Juga akan menghapus tautan Wishlist saya & Newsletter Saya, di seluruh situs, diuji di Magento 1.9:
Mengomentari baris 31 - 66 dari aplikasi / desain / frontend / default / YOURTHEME / layout / wishlist.xml (jika tidak ada, salin dari aplikasi / desain / frontend / rwd / default / layout / wishlist.xml)
Mengomentari baris 47 - 65 dari aplikasi / desain / frontend / default / YOURTHEME / layout / newsletter.xml (jika tidak ada, salinlah dari app / desain / frontend / rwd / default / layout / newsletter.xml)
buletin </name> buletin / kelola / </path> Berlangganan Newsletter </label> </action> </reference> </customer_account-->
CSS (sesuaikan sesuai kebutuhan Anda)
sumber
Untuk menghindari menghapus tautan, saya akan merekomendasikan menetapkan nilai ID berdasarkan variabel $ _index, sehingga Anda dapat menyembunyikan tautan melalui CSS.
Inilah yang saya lakukan:
Dari YourPackage / YourTemplate / customer / akun / navigation.phtml
Jadi jelas Anda bisa pergi
Tidak ada cara untuk menguliti kucing, tetapi ini adalah pilihan yang cepat dan mudah tanpa benar-benar mengorbankan fungsionalitas apa pun.
sumber
Saya pikir solusi yang lebih baik adalah dengan menulis ulang blok. Ini disebutkan di atas tetapi tidak ada contoh:
Tambahkan penulisan ulang ke config.xml Anda di bagian global:
Abaikan addLink di Mage_Customer_Block_Account_Navigation:
Array exclude_links dapat menarik dari pengaturan konfigurasi jika Anda tidak ingin membuat kode tautan yang dikecualikan.
sumber
inilah yang saya cari di Google tentang ini: http://magebase.com/magento-tutorials/5-useful-tricks-for-your-magento-local-xml/
sumber
Pertama-tama saya ingin Anda memberi tahu bahwa ada berbagai cara untuk menyelesaikan masalah Anda.
Ini adalah cara termudah yang menemukan kode dalam
layout.xml
file di dalam basis yang ingin Anda hapus misalnya: jika saya ingin menghapus "Tag saya" maka komentar saja bagiannya.Tapi Anda tahu bahwa kita tidak boleh memodifikasi file base, jadi metode sederhana berikutnya yang bisa dilakukan adalah
Menghapus tautan di
navigation.phtml
file template Anda. Untuk itu salin file Anda ke tema Anda (Catatan: struktur folder harus sama) dari menubase\default\template\customer\account\navigation.phtml
. yang ditunjukkan pada jawaban di atas.Tugas menjemukan lainnya adalah menulis ulang modul inti Anda dan membuat metode "RemoveLinkByName".
sumber
Solusi lengkap untuk menghapus fitur dasbor akun mencakup modifikasi sisi klien dan sisi server. Jika hanya sisi klien yang dihapus dan / atau disembunyikan, maka tidak ada yang menghentikan pengguna yang mengerti teknologi untuk tetap mengakses fitur-fitur dengan membuat sendiri rute di browser mereka atau dengan menggunakan serangan "CURL" CURL yang lebih canggih (yang dapat mencakup Token CSRF dan lolos langsung).
Sisi klien mudah dicapai melalui pembaruan XML seperti yang ditunjukkan oleh sejumlah besar jawaban yang sudah diberikan.
Sisi server sedikit lebih kompleks dan membutuhkan pemahaman tentang fungsionalitas yang sedang dihapus.
Secara pribadi, saya akan menempuh rute menggunakan pengamat untuk mengembalikan kode status HTTP terlarang secara bersyarat pada setiap rute fitur yang dihapus. Untuk mengetahui rute mana yang harus diamati, buka file controller terkait dan temukan masing-masing tindakan front-end yang seharusnya tidak lagi tersedia. Selanjutnya, buat modul yang mendefinisikan bidang konfigurasi sistem untuk menonaktifkan fitur tersebut. Dengan menggunakan bidang konfigurasi sistem ini, perbarui XML tata letak ujung depan dengan persyaratan dan kembalikan juga kode respons HTTP yang sesuai untuk setiap rute yang diamati.
Contoh kode untuk setiap langkah di atas dapat ditemukan melalui mesin pencari favorit Anda.
sumber
Tambahkan ke file local.xml kode ini
Diuji dalam Magento 1.7.0.2
sumber