Magentoストアを構築していますが、カテゴリのリストを表示し、各カテゴリを独自のページにリンクできるようにしたいと考えています。
IDが42の「ブランド」カテゴリがあり、サブカテゴリのリストを表示して、それぞれがCMSの指定されたURLキーにリンクしていることを確認したいと思います。
誰かがMagentoでこれを行った経験がありますか?
Magentoストアを構築していますが、カテゴリのリストを表示し、各カテゴリを独自のページにリンクできるようにしたいと考えています。
IDが42の「ブランド」カテゴリがあり、サブカテゴリのリストを表示して、それぞれがCMSの指定されたURLキーにリンクしていることを確認したいと思います。
誰かがMagentoでこれを行った経験がありますか?
テーマの編集に慣れている場合は、このコードスニペットにより、現在のカテゴリのすべてのサブカテゴリのリストが表示されます(セッションからの場合、これはテーマのどこでも機能するはずです)。私は通常、これをapp / design / frontend / default /theme_name/template/catalog/category/view.phtmlで使用します
<?php
$_category = $this->getCurrentCategory();
$collection = Mage::getModel('catalog/category')->getCategories($_category->entity_id);
$helper = Mage::helper('catalog/category');
?>
<ul>
<?php foreach ($collection as $cat):?>
<?php if($_category->getIsActive()):?>
<?php
$cur_category = Mage::getModel('catalog/category')->load($cat->getId());
$_img = $cur_category->getImageUrl();
?>
<li>
<a href="<?php echo $helper->getCategoryUrl($cat);?>">
<img src="<?php echo $_img?>" title="<?php echo $cat->getName();?>"/>
<cite><?php echo $cat->getName();?></cite>
</a>
</li>
<?php endif?>
<?php endforeach;?>
</ul>
トップレベルのカテゴリとサブカテゴリを表示したい場合は、Uはこのように行うことができます。
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
<?php echo $_category->getName() ?>
</a>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
トップレベルのカテゴリと現在のカテゴリのサブカテゴリを表示するには、次のように実行できます...。
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
<?php echo $_category->getName() ?>
</a>
<?php if ($currentCategory && $currentCategory->getId() == $_category->getId()): ?>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
この質問には長い答えが必要です。適切な場所を紹介します。
1)最善の解決策は、無料の拡張機能を使用することです。試したことはありませんが、目的に合ったものになります。適切なルックアンドフィールを実現するには、CSSを実行する必要があります。
http://www.magentocommerce.com/extension/1562/magento-easy-catalog-images デモ:http ://extension01.templates-master.com/gb/electronics.html
2)ベンダーがモジュールのサポートを停止することを決定した場合、アップグレードが困難になる可能性があるため、モジュールを信頼していません。次のフォーラムスレッドの情報を使用して、vewサイトを作成しました。見てください...簡単ではないかもしれません。ローカルディレクトリにコアファイルのコピーを作成する必要がある場合があります。
http://www.magentocommerce.com/boards/viewthread/3770/P30/
うまくいけば、これはあなたの助けになるでしょう:)
Magentoを使用してカスタムカテゴリリストブロックを作成する方法について、この小さなビデオを作成しました。これを達成するためのより良い方法、あるいは私がもっとうまくできたかもしれない何かがあると確信していますが、それは私の方法にすぎません。私はそれがそこにいる何人かの人々に何かを説明するのを助けることを期待してそれを作成しただけです。
ありがとう!
magentoサイトのすべてのソリューションを調べたところ、上記のwookiehangoverのソリューションが機能し、実装に約8秒かかったことがわかりました。
スタイリングできるULを作成します。ありがとう。
静的ブロックを作成した後、次のスクリプトでサブカテゴリのリストを取得できます。
$_helper = Mage::helper('catalog/category');
$_category = Mage::getModel('catalog/category')->load(5);
$_subcategories = $_category->getChildrenCategories();
if (count($_subcategories) <= 0) { return; }
$count = 0;
foreach($_subcategories as $_category) {
$category = Mage::getModel('catalog/category')->load($_category->getId());
$ret->{"object_".$count} ->url = $_helper->getCategoryUrl($_category);
$ret->{"object_".$count} ->name = $_category->getName();
$ret->{"object_".$count} ->id = $_category->getId();
$ret->{"object_".$count} ->image = $category->getImageUrl();
$count++;
}
return $ret;
}
$list = list_subcategories(5);
echo "<pre>"; print_r($list); echo "</pre>";
?>
現在のアイテムに属するカテゴリのみをリストするのはどうですか。ページ上のすべてのカテゴリではありません。
しかし、ビューのようなツリーで。
カテゴリー-サブキャット1カテゴリー2-サブキャット1-サブサブキャット1
BR Cveto