2009-04-07 27 views
14

Magento E-ticaret sistemini kullanarak, bir öğeyi Yönetici Paneli Gezinme menüsünden kaldırmak mümkün müdür? Daha genel olarak, yapılandırma geçersiz kılma sistemini varolan öğeleri bir yapılandırmadan kaldırmak için bir yol var mı?Magento'nun Yönetici Panelinden Bir Öğe Kaldırma Gezinme

Ben bu

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Company_Module> 
      <version> 
       0.1.0 
      </version> 
     </Company_Module> 
    </modules> 

    <adminhtml> 
     <menu> 
      <cms translate="title" module="cms"> 
       <title>The CMS</title> 
       <sort_order>70</sort_order> 
       <children> 
        <foo translate="title" module="cms"> 
         <title>Foo Item</title> 
         <action>adminhtml/foo</action> 
        </foo> 
       </children> 
      </cms> 
     </menu>  
    </adminhtml> 
</config> 

ama nasıl/ben tamamen CMS navigasyon öğeyi bastırmak olabilir olur gibi görünen bir geçersiz kılma ile navigasyona ekleyebilir biliyor musunuz?

cevap

14

Temizleyici yol:

tüm diğer customiza tutan varolan modülleri örneğin bir adminhtml.xml (ekle siyon şeyler, ya da kullanabilirsiniz belirli bir menü noktası için)

<?xml version="1.0" ?> 
<config> 
    <menu> 
     <xmlconnect> 
      <disabled>1</disabled> 
     </xmlconnect> 
    </menu> 
</config> 
+0

Bu, Magento'un modern bir versiyonundaki şeyleri işlemenin kesinlikle bir yolu. Eski sürümde desteklenip desteklenmediğinden emin değilim, ancak sorun yaşıyorsanız eski, orijinal kabul edilmiş yanıtı görün: http://stackoverflow.com/a/769931/4668 –

11

config.xml dosyanızdaki menü öğesine sahte modül bağımlılığı enjekte edebilirsiniz. Senin durumunda

,

<adminhtml> 
    <menu> 
    <cms translate="title" module="cms"> 
     <depends><module>HideMe</module></depends> 
    </cms> 
    </menu> 
</adminhtml> 
+2

Biliminiz beni etkiliyor! Will, config dosyasının diğer alanlarındaki gibi çalışmaya mı bağlı? Sadece doğru modül yükleme sırasını sağlamak için kullanıldığını gördüm. –

+0

Sadece Magento'nun modüllerini (sizin belirttiğiniz gibi) başlatmak ve adminhtml menüsünü oluşturmak için görünüyor. Modül bağımlılıkları bu sınıfların kontrol gibi görünüyor: İkinizden biri gönderme beri iki yılda bunu yapmanın daha zarif bir yolunu bulursa Mage_Adminhtml_Block_Page_Menu Mage_Adminhtml_Model_Config Mage_Adminhtml_Model_System_Config_Source_Admin_Page Mage_Api_Model_Config Mage_Core_Model_Config –

+1

@Alan ve @Scott sadece merak. Görünüşe göre biraz ... hacky (amaçlanan bir saldırı yok!). Teşekkürler, JD –

4

Ben Alan hala bu soruyu sormak kimseye ihtiyaç olacağını sanmıyorum, ama bunu okuyan sonunda olabilir başkası için, kullanmak için biraz daha iyi olacaktır: bunu yapmak için

<adminhtml> 
    <menu> 
    <cms translate="title" module="cms"> 
     <depends><config>some/configuration/flag</config></depends> 
    </cms> 
    </menu> 
</adminhtml> 
2

yeni bir modül oluşturun:

<?xml version="1.0"?> 
<config> 
    <menu> 
     <customer> 
      <children> 
       <online> 
        <disabled>1</disabled> 
       </online> 
      </children> 
     </customer> 
    </menu> 
</config> 
İlgili konular