2

メインのルートカテゴリにサブカテゴリを追加したときに得られる通常のナビゲーション以外に、新しいルートカテゴリを作成し、それにサブカテゴリを割り当てて、別のメニューとして表示できるようにしたいと考えています。

これは可能ですか?

4

2 に答える 2

0

理想的な世界では、あなたは今までに答えを見つけていたでしょうが、もしあなたがそうしなかった場合、Nikhilの答えを修正して、基本的にあなたが説明したことを実行し、利便性をまったく引き下げました...

$id=9; 
$catagory_model = Mage::getModel('catalog/category');
$categories = $catagory_model->load($id);
if(!empty($categories))
{
    $cats = explode(",", $categories->getChildren());
    foreach($cats AS $c)
    {
        $cat = $catagory_model->load(trim($c));
        echo '<a href="/'.$cat->getUrlKey().'">'.$cat->getName().'</a>';
    }
}

使ったものをそのまま貼っています。現実には、これをやりたいようにするには、html を作成する必要があります。ループ内にサブカテゴリがある場合は、foreach 部分で別のフェッチを実行する必要があります。$cat オブジェクトで実行できるメソッドを知るには、magento に精通していません。オブジェクトを調べるために を実行したprint_r($cat)ところ、getUrlKey が利用可能であるという幸運な推測ができました。

マジェント…ふふっ!ebay はこれよりも高い基準を持っていると思うでしょう。

于 2014-05-10T01:40:51.080 に答える
0

これが役に立ちますように :
リンク 1
リンク 2

別のルート カテゴリを取得するには

<?php 
echo '<pre>';
$id=9; 
    $catagory_model = Mage::getModel('catalog/category');
    $categories = $catagory_model->load($id); // where $id will be the known category id
    if(!empty($categories))
    {
        echo 'category name->'.$categories->getName(); //get category name
        echo '<br>';
        echo 'category image url->'.$categories->getImageUrl(); //get category image url
        echo '<br>';
        echo 'category url path->'.$categories->getUrlPath(); //get category url path
        echo '<br>'; 
    }
    ?>

これ$id=9;が私の新しいルート カテゴリ ID です。
以下のこれらの新しいルート カテゴリのサブ カテゴリを取得($id=9;)するには、次の参照コードを使用します。
要件に応じてカスタマイズします。

<?php $helper = $this->helper('catalog/category') ?>
 <?php $categories = $this->getStoreCategories() ?>
  <?php foreach($categories as $category): ?>
    <?php $subcategories = $category->getChildren() ?>
      <?php foreach($subcategories as $subcategory): ?>
        <?php $subsubcategories = $subcategory->getChildren() ?>
         <?php foreach($subsubcategories as $subsubcategory): ?>
         <?php endforeach; ?><!-- end foreach subsubcategories -->
      <?php endforeach; ?><!-- end foreach subcategories -->
  <?php endforeach; ?><!-- end foreach categories -->
于 2012-11-19T09:26:57.503 に答える