我想检索我的网站的类别,以便建立我自己的类别菜单。 但我不明白如何从类/模型中获取所有类别。所以我创建了一个名为top.phtml的文件,我将其放在模板/目录/导航中,
首先,如果我要创建一个顶级菜单,是否必须将该名称放入该文件夹中?我不能决定把它放在我想要的名字TopMenu.phtml的哪个地方?因为在我看来我是红色的,他们也是这样做的。
第二:我必须打电话给我的功能是什么?我一直在这里:http://www.magentix.fr/ergonomie-web/agencer-page-accueil-site-magento.html但这样做的方式对我不起作用..我将该代码添加到我在page.xml中正确调用的文件top.phtml中:
<div class="category-list" style="background-color:white;">
<h2>Nos produits</h2>
<?php
foreach ($this->getStoreCategories() as $_category):
if($_category->getIsActive()):
$_category = Mage::getModel('catalog/category')->load($_category->getId());
$layer = Mage::getSingleton('catalog/layer')->setCurrentCategory($_category);
?>
<div class="category-list-view">
<a href="<?php echo $this->getCategoryUrl($_category)?>" title="<?php echo $_category->getName()?>">
<img src="<?php echo $this->getCurrentCategory()->getImageUrl(); ?>" alt="<?php echo $_category->getName() ?>" />
</a>
<h3><a href="<?php echo $this->getCategoryUrl($_category)?>" class="name" title="<?php echo $_category->getName()?>"><?php echo $_category->getName()?></a></h3>
</div>
<?php
endif;
endforeach;
?>
</div>
最后:我在哪里可以找到像CodeIgniter一样清晰的用户指南?我找到了,但我从未找到任何答案:http://www.magentocommerce.com/wiki/doc/webservices-api/api#magento_core_api
感谢您的回答,我是一个曾经使用CodeIgniter或没有任何模板的Web开发人员,我无法清楚地看到Magento编程方式背后的逻辑。
编辑:这些类别有什么关系吗?我尝试在默认类别下创建一个子类别,它确实有效,但是如果我创建一个新的根类别,它根本就没有识别它..为什么答案 0 :(得分:3)
首先,如果我要创建一个顶级菜单,是否必须将该名称放入该文件夹中?我不能决定把它放在我想要的名字TopMenu.phtml的哪个地方?因为在我看来我是红色的,他们也是这样做的。
您可以随意命名模板文件。但是,最好遵循命名法和既定惯例。模板文件名取决于您的布局XML。它应该具有template
属性,例如<block name="x" type="x/y" template="catalog/navigation/topmenu.phtml" />
(例如)。
第二:我必须打电话给我的功能是什么?我来过这里:http://www.magentix.fr/ergonomie-web/agencer-page-accueil-site-magento.html但这样做的方式对我不起作用
模板可用的功能(topmenu.phtml
文件)取决于块的类型。在布局XML中,应指定与所需功能相对应的块类型。在您的情况下,您可能正在寻找块类型为catalog/navigation
。如果查看./app/code/core/Mage/Catalog/Block/Navigation.php
,您可以查看模板可用的公共方法。这里的一些方法有助于生成(嵌套)类别列表。这是您getStoreCategories()
方法的来源。请记住,这些块继承自多个父类,因此您可以获得比初学时更多的方法。
我在哪里可以找到像CodeIgniter一样清晰的用户指南?我找到了,但我从未找到任何答案:http://www.magentocommerce.com/wiki/doc/webservices-api/api#magento_core_api
这是Magento API的链接。您需要的是关于Magento布局XML及其中的设计层的教程。 Magento维基有一些很好的信息,但谷歌周围你会发现很多非常有用的资源来理解Magento的设计系统。
这些类别有什么关系吗?我尝试在默认类别下创建一个子类别,它确实有效,但是如果我创建一个新的根类别,它根本就没有识别它..为什么
您可以使用根类别来标识所选商店的目录基础。你永远不会看到根类别出现在前端(你不应该)。根类别中的每个子类别都是顶级类别;这些子类别(大学类别)下的子类别将作为Magento前端的“二级”类别出现。您可能希望了解Magento的GWS(“全局,网站,商店”)范围系统,以及它如何在多商店设置中管理目录数据,以便更好地理解根类别以这种方式运行的原因。
希望这有帮助!