2012-10-23 52 views
4

同級分類列表到目前爲止,我覺得我在做某件事情是這樣我需要在Magento 1.7

<?php 
$parentId = $_category->getParentId(); 
$cats = Mage::getModel('catalog/category')->load($parentId)->getChildred(); 
$catIds = explode(',',$cats); 
?> 

<ul> 
<?php foreach($catIds as $catId): ?> 
    <li> 
    <?php 
     $category=Mage::getModel('catalog/category')->load($catId) 
     echo $category->getName(); 
    ?> 
</li> 
<?php endforeach; ?> 
</ul> 

我想在子類橫向移動,而不必去了一個層。

讓我知道這是否合理。

+0

您能否請您清楚解釋您想做什麼。所以我們可以幫助您更好。 – Muk

回答

3

下面的代碼將幫助您加載第2級(子)類別。您可以將$ _rootCatId設置爲動態,也可以通過Mage :: app() - > getStore() - > getRootCategoryId();

$_rootCatId  = 2;//Root Category 
$_rootCategory = Mage::getModel('catalog/category')->load($_rootCatId); 
$_catName  = $_rootCategory->getName(); 
if($_rootCategory->hasChildren()) 
{ 
    $_collection = Mage::getResourceModel('catalog/category_collection') 
        ->addAttributeToFilter('is_active', 1) 
        ->addAttributeToSort('position', 'asc') 
        ->joinUrlRewrite() 
        ->addIdFilter($_rootCategory->getChildren()) 
        ->load(); 

    foreach($_collection AS $_sub) 
    { 
     $_subCat = Mage::getModel('catalog/category')->load($_sub->getId()); 

     if($_subCat->hasChildren()) 
     { 
      echo '<li class="leve10 nav-'. $_subCat->getId() .'">'; 
       echo '<a id="subCatLink">'; 
        echo '<span>'. $this->htmlEscape($_subCat->getName()) .'</span> 
        </a> 
      </li>'; 
      echo '<ul id="subCatUl" class="no-display" style="padding:0px 13px;">'; 
      $__collection = Mage::getResourceModel('catalog/category_collection') 
        ->addAttributeToFilter('is_active', 1) 
        ->addAttributeToSort('position', 'asc') 
        ->joinUrlRewrite() 
        ->addIdFilter($_subCat->getChildren()) 
        ->load(); 

      foreach($__collection AS $__sub) 
      { 
       $__subCat = Mage::getModel('catalog/category')->load($__sub->getId()); 
       echo '<li class="leve20 nav-'. $__subCat->getId() .'"> 
         <a href="'. $this->getCategoryUrl($__subCat) .'"> 
         <span>'. $this->htmlEscape($__subCat->getName()) .'</span> 
         </a> 
        </li>'; 
      } 
      echo '</ul>'; 
     } 
     else 
     { 
      echo '<li class="leve10 nav-'. $_subCat->getId() .'"> 
       <a href="'. $this->getCategoryUrl($_subCat) .'"> 
       <span>'. $this->htmlEscape($_subCat->getName()) .'</span> 
       </a> 
      </li>'; 
     } 
    } 
} 
else 
    echo 'No Categories Found...'; 
+0

在你的代碼中,你有'Categories();',我剛剛刪除了它。對我來說,打破了代碼!除此之外,它的工作非常好。謝謝! – SPRBRN

+0

是的,我的不好。我將刪除它。謝謝... :) –

1

假設你$_categoryMage_Catalog_Model_Category有效實例:

<?php $_siblings = $_category->getParentCategory()->getChildrenCategories(); ?> 
<ul> 
    <?php foreach($_siblings as $_sibling): ?> 
    <li> 
     <?php echo $_sibling->getName(); ?> 
    </li> 
    <?php endforeach; ?> 
</ul> 
+0

太容易了!謝謝! –