2016-04-05 8 views
0

私のサブカテゴリをアルファベット順に並べ替える 私はコアを変更しましたが、これをきれいに行うことができました。magento sort subcategoriesアルファベット順

私が使用しています: $_category->getChildrenCategories();

ファイルで: app/code/core/Mage/Catalog/Model/Resource/Category.php

protected function _getChildrenCategoriesBase($category) 

     // ->setOrder('position', Varien_Db_Select::SQL_ASC) 
     ->setOrder('name', Varien_Db_Select::SQL_ASC) 

で誰かがヘルパーや他の方法を使用している場合。

ありがとうございました。

答えて

0

を感謝Dhavalパテルとmondev。私はコレクションを呼び出すことによってそれを修正しました

 $currentCategory = Mage::getModel('catalog/category')->load($_category->getId()); 
     $_subcategories = $currentCategory->getCollection(); 
     $_subcategories->addAttributeToSelect('url_key') 
      ->addAttributeToSelect('name') 
      ->addAttributeToSelect('all_children') 
      ->addAttributeToFilter('is_active', 1) 
      ->addIdFilter($currentCategory->getChildren()) 
      ->setOrder('name', Varien_Db_Select::SQL_ASC) 
      ->load(); 
0

コードの下に

<?php 

    $subcats = Mage::getModel('catalog/category')->load('1')->getChildren(); 
    $catIds = explode(',',$subcats); 

    $catarray= array(); 
    foreach($catIds as $catId) { 
    $category = Mage::getModel('catalog/category')->load($catId); 
    $catarray[$category->getName()] = $category->getUrl(); 
    } 

    ksort($catarray, SORT_STRING); 
?> 

<ul> 
    <?php foreach($catarray as $catname => $caturl): ?> 
    <li> 
     <a href="<?php echo $caturl; ?>"><?php echo $catname ; ?></a> 
    </li> 
    <?php endforeach; ?> 
</ul> 
+0

Dhaval Patelありがとうございます。しかし、私はヘルパーを呼び出してサブキャット画像のサイズを変更するため、配列を使用できません。 – pelijojo

+0

これを試してください: - > setOrder( 'name'、 'asc'); –

+0

これは動作していません:-( – pelijojo

0

つのヒントを試してください:

  1. あなたはあなたのケースでは、あなたの地元のモジュールおよび変更のコードでリソース・モデルを書き換えることができます。

  2. またはそのような新しいヘルパーメソッドの何かを作成します。

​​
関連する問題