2013-01-15 3 views
0

다음 코드를 사용하여 범주 및 하위 범주를 드롭 다운 메뉴에 표시하지만 하위 범주를 알파벳 순으로 정렬하려면 ... 어떻게해야합니까? Catalog > Categories > Manage Categories : 고객이 일반적으로 드래그 자주 변경되는 범주를 가지고 관리자 백엔드의 알파벳 순서로 삭제되지 않는 한 항상했던 어떤자홍색 메뉴 변경 하위 범주 정렬 순서

<ul id="custom-menu"> 
<li><a href="http://www.mobiledistributorsupply.com"><b>Home</b></a></li> 
<?php $_helper = Mage::helper('catalog/category') ?> 
<?php $_categories = $_helper->getStoreCategories() ?> 
<?php $currentCategory = Mage::registry('current_category') ?> 
<?php if (count($_categories) > 0): ?> 
<ul style="width:940px;"> 
    <?php foreach($_categories as $_category): ?> 
     <li> 
<b><a class="drop" href="<?php echo $_helper->getCategoryUrl($_category) ?>"> 
       <?php echo $_category->getName() ?> 
      </a></b> 
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?> 
      <?php $_subcategories = $_category->getChildrenCategories() ?> 
      <?php if (count($_subcategories) > 0): ?> 
       <div class="dropdown_1column" style="width:235px;"> 
        <?php foreach($_subcategories as $_subcategory): ?> 
         <div class="col_1"> 
        <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"> 
           <?php echo $_subcategory->getName() ?> 
          </a> 
         </div> 
        <?php endforeach; ?> 
        <div class="clr" clear="all"></div> 
       </div> 
      <?php endif; ?> 
     </li> 
    <?php endforeach; ?> 
<li class="normal"><a href="/products/onsale"><b>Sale</b></a></li> 
<li class="normal"><a href="/customer-service"><b>Help</b></a></li> 
<li class="normal"><a href="/customer/account/create/"><b>Open Account</b></a></li> 
</ul> 
<?php endif; ?> 

답변

0

첫 번째 백업 : 그 스타일이 아니라면

, 당신은 항상 배열 그리고 마지막으로 출력을, 범주를 통해 첫 번째 실행이 답에서 몇 가지 조언을 새로운 배열에 배치하고 키 정렬 할 수 있습니다 topmenu.phtml 다음 새로운 topmenu.phtml 파일에서 다음 코드를 대체하십시오.

<?php $_helper = Mage::helper('catalog/category') ?> 
<?php $_categories = $_helper->getStoreCategories() ?> 
<?php 

function array_sort($array, $on, $order=SORT_ASC){ 
    $new_array = array(); 
    $sortable_array = array(); 

    if (count($array) > 0) { 
     foreach ($array as $k => $v) { 
      if (is_array($v)) { 
       foreach ($v as $k2 => $v2) { 
        if ($k2 == $on) { 
         $sortable_array[$k] = $v2; 
        } 
       } 
      } else { 
       $sortable_array[$k] = $v; 
      } 
     } 

     switch ($order) { 
      case SORT_ASC: 
      asort($sortable_array); 
      break; 
      case SORT_DESC: 
      arsort($sortable_array); 
      break; 
     } 

     foreach ($sortable_array as $k => $v) { 
      $new_array[$k] = $array[$k]; 
     } 
    } 

    return $new_array; 
} 

?> 
<?php 
$layer = Mage::getSingleton('catalog/layer'); 
$_category = $layer->getCurrentCategory(); 
$currentCategoryId= $_category->getId(); 
?> 
<div class="nav-container"> 
    <ul id="nav"> 
    <?php $_helper = Mage::helper('catalog/category') ?> 
    <?php $_categories = $_helper->getStoreCategories() ?> 
    <?php $currentCategory = Mage::registry('current_category') ?> 
    <?php if (count($_categories) > 0){ ?> 
     <?php foreach($_categories as $_category){ ?> 
      <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?> 
      <li><a href="<?php echo $_helper->getCategoryUrl($_category) ?>"><span><?php echo $_category->getName(); ?></span></a> 
      <?php $catList = array();?> 
      <?php $_subcategories = $_category->getChildrenCategories() ?> 
      <?php foreach($_subcategories as $_subCategory){ ?> 
       <?php $catList[] = array('name' => $_subCategory->getName(), 'url' => $_subCategory->getUrl(), 'id' => $_subCategory->getId());?> 
      <?php } ?> 
      <?php $catList = array_sort($catList, 'name', SORT_ASC);?> 
      <ul> 
      <?php if (count($catList) > 0){ ?> 
       <?php $subcat=0?> 
       <?php foreach($catList as $_subCategory){ ?> 
        <li><a href="<?php echo $_subCategory['url'] ?>"><span><?php echo $_subCategory['name'] ?></span></a> 
        <?php $subCatList = array();?> 
        <?php $_subSubCat = Mage::getModel('catalog/category')->load($_subCategory['id']); 
        $_subSubCategories = $_subSubCat->getChildrenCategories();?> 
        <?php foreach($_subSubCategories as $_subSubCategory){ ?> 
         <?php $subCatList[] = array('name' => $_subSubCategory['name'], 'url' => $_subSubCategory['url']);?> 
        <?php } ?> 
        <?php $subCatList = array_sort($subCatList, 'name', SORT_ASC);?> 
        <?php if (count($subCatList) > 0){ ?> 
         <ul> 
          <?php foreach($subCatList as $_subSubCat){ ?> 
           <li><a href="<?php echo $_subSubCat['url'] ?>"><span><?php echo $_subSubCat['name'] ?></span></a> 
          <?php } ?> 
          </li> 
         </ul> 
        <?php } ?> 
        </li> 
       <?php } ?> 

       <?php } ?> 
      </ul> 
      </li> 
     <?php } ?> 
    <?php } ?> 
    </ul> 
</div>