単一の製品ページの Magento の管理領域内で選択されたサブカテゴリの名前を表示することを検討しています。
テンプレートを開いていますが、関連するコードを呼び出す必要があるだけです。何かアイデアはありますか?
これを使用できます。
<h2>This product is in the following categories</h2>
<ul>
<?php
$categories = $_product->getCategoryCollection();
$categories->addAttributeToSelect(array('name', 'url'));
foreach ($categories as $category){
if ($category->getName() == 'Default Category' || $category->getName() == 'Categories') {
continue;
}
?>
<li><a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a></li>
<?php } ?>
</ul>
OK、catalog>product>view.phtml または catalog>product>list.phtml にある場合
<?php foreach($_product->getCategoryCollection() as $_cat): ?>
<?php echo $_cat->getName() ?><br />
<?php endforeach ?>
それ以外の場合は、最初の行で製品を取得する必要があります。
$_product = Mage::registry('current_product');
現在選択されている製品を提供します。
その間:
$_product = Mage::helper('catalog/product')->load(35)
製品35を取得します。
これを試して
<?php
$onCatalog = false;
if(Mage::registry('current_product')) {
$onCatalog = true;
}
これを試してください (製品ビュー テンプレート view.phtml 内にいると仮定します):
<?php foreach($_product->getCategoryCollection() as $_cat): ?>
<?php echo $_cat->getName() ?><br />
<?php endofreach ?>
これで作業を開始し、製品が割り当てられているカテゴリのリストを取得できます。
ID が必要な場合:
<?php $categoryIds = $_product->getCategoryIds() // an array ?>