2013-07-26 12 views
9

i magento navigasyon menü çubuğu kodunu düzenlemek istiyor ama bir menü çubuğu koduna sahip olan dosya bu dosyayı düzenlemek nasıl yardım lütfen bilmiyorum ve değişim i resmi eklemek istediğinizMagento hangi dosyada navigasyon menü çubuğu kodu var?

i want to edit menu magento provide menu like 
<ul> 
    <li><a href=''>Home</a></li> 
    <li><a href=''>Contact Us</a></li> 
    <li><a href=''>Abouty Us</a></li> 

</ul> 

i want to edit it like 

<ul> 
    <li><img src=''/><a href=''>Home</a></li> 
    <li><img src=''/><a href=''>Contact Us</a></li> 
    <li><img src=''/><a href=''>Abouty Us</a></li> 

</ul> 

yardım lütfen

cevap

3

merhaba arkadaşlar siz de \ navigation.php

bu dosya var app \ kodu \ çekirdek \ Mage \ Katalog \ Blok \

dosya navigation.php içine navigasyon menü çubuğu görebilirsiniz Gezinme menüsü barkodu

+5

Biri çekirdek dosyaları değiştirmemeli. Temanızı transfer edemeyeceksiniz. Bu dosyayı düzenlemek –

+1

siteyi artık yükseltme güvenli – TT120

5
app\design\frontend\default\yourtheme\template\page\html\topmenu.phtml 
+0

hızlı tekrar için teşekkür ederim ben bu yolda –

+0

o dosya uygulaması \ tasarım \ önyüzü \ varsayılan \ theme394 \ şablon \ sayfası \ html yok dosyayı belirtin. app \ tasarım \ önyüzü \ baz \ varsayılan \ şablon \ sayfasını \ html \ topmenu.phtml - - i nasıl –

+0

onu kopyala yardım lütfen bunu menüsüne görüntüyü göstermek istiyorum ve bu kodu olurdu sahip olduklarım dosyası tema –

1

Tamam menüsü ve oluşturmak avans menüye, bu

<li> 
<a href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php  echo $page['title']; ?></a> 
</li> 

TARAFINDAN yerine Burada Tamam
<li><img src=''/> 
<a href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php  echo $page['title']; ?></a> 
</li> 

senindir ihtiyaca göre bu

<?php $_menu = $this->getHtml('level-top') ?> 
<?php if($_menu): ?> 

<?php $identifier = Mage::getSingleton('cms/page')->getIdentifier() ?> 

<?php $collection = Mage::getModel('cms/page')->getCollection()-  >addStoreFilter(Mage::app()->getStore()->getId());?> 
<?php $collection->getSelect() 
->where('is_active = 1'); ?> 
<ul class="main-menu cf"> 
<?php foreach ($collection as $page): ?> 
<?php $PageData = $page->getData(); ?> 

<?php //make the current page active?> 
<?php if($identifier == $PageData['identifier'] && $identifier != 'no-route'){ $c = 'class="active"';}else{ $c = '';}?> 
<?php if($PageData['identifier']!='no-route' && $PageData['identifier']!='enable-cookies' && $PageData['identifier']!='home2') { ?> 
<li><img src=''/> 
<a <?php echo $c;?> href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php  echo $page['title']; ?></a> 
</li> 
<?php } ?> 
<?php endforeach; ?> 
</ul> 

tarzı ile tam sayfa kodunu değiştirmek, yeni bir koddur. değiştirilmesi sınıflar

+0

lütfen dosya adının hangi dosya koduyla değiştirileceğini lütfen bana bildirin –

+0

topmenu.phtml dosyasındaki topmenu.phtml –

+0

sadece bu satır koduna getHtml (' level-top ')?>

13

Mage_Page_Block_Html_Topmenu sınıfındaki _getHtml() yöntemini geçersiz kılmalısınız. İşte

adımlar şunlardır: class Mage_Page_Block_Html_Topmenu_Custom extends Mage_Page_Block_Html_Topmenu
  • içine koymak

    1. uygulamanızı/kodu oluşturmak/yerel/Büyücü/Sayfa/Blok/html/Topmenu/Custom.php
    2. ) (_getHtml kopyalamak Uygulamanın/kod/kod/Büyücü/Sayfa/Blok/html/Topmenu.php dan yöntemi ve gerekli
    3. düzenlemek uygulama/tasarım/kullanıcı arayüzü/your_theme/default/düzeni/page.xml gibi özelleştirin ve <block type="page/html_topmenu_custom" name="catalog.topnav" template="page/html/topmenu.phtml"/>
    4. ile <block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml"/> yerine
    5. kar!
  • +0

    yapmak için teşekkürler. –

    2

    Magento sürümünüze bağlı olarak, bu gönderi güncel olmayabilir, bu yüzden güncelleştireceğim. Magento, bu nav html'nin özelleştirilmesine izin vermek için bu sebepten dolayı bir değişiklik yaptı.

    Eğer

    if ($renderer = $this->getChild('catalog.topnav.renderer')) { 
         $renderer->setMenuTree($this->_menu)->setChildrenWrapClass($childrenWrapClass); 
         $html = $renderer->toHtml(); 
        } else { 
         $html = $this->_getHtml($this->_menu, $childrenWrapClass); 
        } 
    

    Bu bir hale blok tanımlanır olmadığını denetler ve değilse o zaman nav html

    /** 
        * Recursively generates top menu html from data that is specified in $menuTree 
        * 
        * @param Varien_Data_Tree_Node $menuTree 
        * @param string $childrenWrapClass 
        * @return string 
        * @deprecated since 1.8.2.0 use child block catalog.topnav.renderer instead 
        */ 
        protected function _getHtml(Varien_Data_Tree_Node $menuTree, $childrenWrapClass) 
    
    bina kaldırılmış yöntemini kullanır Mage_Page_Block_Html_Topmenu içinde, hat 80 bakarsak

    Bu blok ifadesini, temanızın local.xml dosyasında deneyin.

    <default> 
        <reference name="catalog.topnav"> 
         <block type="page/html_topmenu_renderer" name="catalog.topnav.renderer" template="page/html/topmenu/renderer.phtml"/> 
        </reference> 
    </default> 
    

    Sonra kendi tema içine RWD tema şablon sayfasını/html/topmenu/render.phtml aşağı çekin ve blok yeniden yazmak zorunda kalmadan özelleştirmeleri yapabilirsiniz.

    İlgili konular