2015-01-06 1 views
0

Я наткнулся на относительно известную проблему, но я не могу найти решение.Magento 1.9 проблема с вертикальным меню

Я использую Magento 1.9 CE

Я нашел некоторый код, чтобы показать вертикальное меню текущей категории со своими детьми, и на домашней странице категория корня и все работает отлично, за исключением 1 мелочей. Подкатегории не загружаются в порядке бэкэнд. Важно, чтобы тот же порядок, что и при настройке в бэкэндовых нагрузках. Я попытался выделить варианты, такие как getCChildrenCategories, но затем он приводит к странице blnak. Я также нашел меню, которое работает, но затем, когда я нахожусь на домашней странице, я получаю сообщение об ошибке, и страница становится пустой.

Это код, который я использую в данный момент.

<section class="block-layered-nav custom-left-menu" role="navigation"> 
<div class="block-content"> 
<?php 
echo "<dl id='narrow-by-list2'>"; 
$_category = $this->getCurrentCategory(); 
$subcatid = $_category->getId(); 
$parentCategory = Mage::getBlockSingleton('catalog/navigation')->getCurrentCategory()->parent_id; 
$name = $_category->getName(); 
       $root_category = Mage::getModel('catalog/category')->load($subcatid); 
       $subcategories = $root_category->getChildren(); 
       if($subcategories != "") 
       { 
       echo "<span class='h3'>Categorie</span><ol>"; 
       foreach(explode(',',$subcategories) as $subcategory) { 
       $category = Mage::getModel('catalog/category')->load($subcategory); 
       echo '<li><a href="'.$category->getURL() .'" title="'.$category->getName().'" />'.$category->getName().'</a></li>'; 
       } 
       } 
       else 
       { 
        echo "<span class='h3'>Categorie</span><ol>"; 
        $root_category = Mage::getModel('catalog/category')->load($parentCategory); 
        $subcategories = $root_category->getChildren(); 
        foreach(explode(',',$subcategories) as $subcategory) { 
          $category = Mage::getModel('catalog/category')->load($subcategory); 
          echo '<li><a href="'.$category->getURL() .'" title="'.$category->getName().'" />'.$category->getName().'</a>'; 
       }    
      } 
echo "</ol>"; 
?> 
</div> 
</section> 

Любая помощь будет очень признательна. Все, что я знаю, что где-то в этом коде его не вызывающие категорий правильного пути, я также пытался:

$currentCat = Mage::registry('current_category'); 

, но это приводит к пустой странице.

Вот ссылка на Dev enviremont: http://dev.smoldersbv.nl/schroeven-en-bouten.html

Если вы наведите курсор мыши на главной навигации вы видите другой порядок, правильный порядок, а затем в меню слева.

+0

это поможет вам; http://magento.stackexchange.com/questions/3560/how-to-sort-categories-as-they-are-shown-in-admin – PixieMedia

ответ

0

Это нормально $this->getCurrentCategory() Получить текущую категорию = категорию, которую вы просматриваете в данный момент. На домашней странице вы не находитесь в какой-либо категории, например, на любых других страницах cms или даже на странице контактов, ... (и их еще много). Таким образом, у вас нет ничего в текущей категории, что очевидно.

+0

Это правда, но эта функция также показывает корневую категорию на главной странице, который все работает нормально, но то, что мне нужно, это получить правильный порядок, как в бэкенде, я добавил ссылку в сообщение, а также для ppl, чтобы увидеть текущую ситуацию. –

0

Проблема решена,

Путь запросов, где неправильно для них это меню не в состоянии производить заказ бэкэндом, так что я в конечном итоге, используя совершенно другой макет.

thnx для поиска в любом случае.

Смежные вопросы