Hy!我正在尝试在cms页面上显示类别。我已经尝试了网络上的所有解决方案,但没有一个适合我。我试过的最后一个就是这个。
1.我已在我的cms页面的内容标签中添加了此代码: {{block type =“catalog / navigation”template =“catalog / category / list.phtml”}}
2.我创建了list.phtml并将文件放在app / design / theme-name / template / catalog / category上。
以下是我文件的代码
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $open = $this->isCategoryActive($_category); ?>
<?php
$cur_category=Mage::getModel('catalog/category')->load($_category->getId());
$layer = Mage::getSingleton('catalog/layer');
$layer->setCurrentCategory($cur_category);
if ($immagine = $this->getCurrentCategory()->getImageUrl()):
?>
<div class="catalog-image">
<div>
<a href="<?php echo $this->getCategoryUrl($_category)?>">
<img src="<?php echo $immagine ?>" alt="<?php echo $this->htmlEscape($this->getCurrentCategory()->getName()) ?>" width="313" height="151" />
</a>
</div>
<div class="left"><h2><a href="<?php echo $this->getCategoryUrl($_category)?>"><?php echo $_category->getName()?></a></h2></div>
</div>
<?php endif; ?>
<?php endforeach; ?>
我做错了什么?谢谢 !
答案 0 :(得分:0)
使用名称导航在目录下创建一个文件夹,并将list.phtml文件放在那里,它将起作用。
{{block type =&#34; core / template&#34;模板=&#34;目录/导航/ list.phtml&#34; CATEGORY_ID =&#34; 507&#34; }}
类别显示模式应在显示设置中处于静态块中。
答案 1 :(得分:0)
{{block type =“core / template”template =“page / categories-list.phtml”}}
路径:app / design / 主题名称 /template/page/categories-list.phtml
在此文件中,编写以下代码以获取所有类别的集合:
<?php
$categories = Mage::getModel('catalog/category')
->getCollection()
->addAttributeToSelect('*')
->addIsActiveFilter();
?>
如果您只想要某些类别的父级,请使用以下代码:
<?php
$parent_category_id = 5; // this is ID of parent category
$categories = Mage::getModel('catalog/category')->getCategories($parent_category_id);
?>
要在屏幕上显示类别,请使用循环,如下所示:
<?php foreach ($categories as $category): ?>
<p><?php echo $category->getImageUrl(); ?></p>
<p><?php echo $category->getName(); ?></p>
<?php endforeach; ?>
如果使用父类别的类别来显示图像,请使用以下代码:
Mage::getModel('catalog/category')->load($category->getId())->getImageUrl();