我无法设法在页面上显示左侧的类别。 我选择了Design - layout to 3 columns下的页面, 右侧显示很好但左侧没有任何东西。 magento的新手,所以我不确定在模板中我必须寻找的文件。 它安装了一个自定义模板,所以我到目前为止:
app/design/frontend/default/f001/template/
但现在不确定是否要查看目录或paeg文件夹
答案 0 :(得分:13)
转到布局Xml文件夹..
Blockquote /app/design/frontend/default/default/layout/catalog.xml
打开此Xml文件并粘贴此代码。
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" template="catalog/navigation/left_nav.phtml" />
</reference>
进一步打开此文件..
/app/design/frontend/default/default/template/catalog/navigation/left_nav.phtml
粘贴此代码:
<?php
$obj = new Mage_Catalog_Block_Navigation();
$store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory();
$current_cat = (is_object($current_cat) ? $current_cat->getName() : '');
foreach ($store_cats as $cat) {
if ($cat->getName() == $current_cat) {
echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";
}
echo "</ul>\n</li>\n";
} else {
echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n";
}
}
?>
答案 1 :(得分:1)
转到布局文件夹 即。
app/design/frontend/default/f001/layout/
打开任何xml文件,例如catalog.xml和标签
<default>
</default>
粘贴此代码
<reference name="left">
<block type="catalog/navigation" name="left_categories_nav" before="-" template="catalog/navigation/left.phtml"/>
</reference>
像这样
<default>
<reference name="left">
<block type="catalog/navigation" name="left_categories_nav" before="-" template="catalog/navigation/left.phtml"/>
</reference>
</default>
但请务必在第79行注释此块。
<!-- <reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference> -->
答案 2 :(得分:0)
要将类别从右侧边栏移动到左侧边栏,您需要执行以下操作:
(1)打开app / design / frontend / default / f001 / layout /并找到一个名为local.xml的文件 - 如果它不存在,请创建它。
将以下内容粘贴并保存。
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<!-- Left Categories Begin-->
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" before="-" template="catalog/navigation/left.phtml"/>
</reference>
<!-- Left Categories End-->
</default>
</layout>
(2)打开app / design / frontend / default / f001 / layout / catalog.xml
在“类别默认布局”中,查找类似的内容并将此行注释掉(如此) -
<!-- <reference name="right">
<block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
</reference> -->
假设您使用的是3列,这将阻止类别在两个侧边栏上显示。
您可能已经猜到,参考名称是指每个侧边栏。您需要确保“left”的引用名称包含左侧类别,并确保右侧没有(在布局中控制,而不是模板文件)。
答案 3 :(得分:0)
Add this in left static block
<p>Left side bar {{block type="core/template" template="catalog/navigation/left.phtml"}}</p>
add left.phtml in yourtemplatename/template/catalog/navigation/left.phtml
<?php
$obj = new Mage_Catalog_Block_Navigation();
$store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory();
$current_cat = (is_object($current_cat) ? $current_cat->getName() : '');
foreach ($store_cats as $cat) {
if ($cat->getName() == $current_cat) {
echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";
}
echo "</ul>\n</li>\n";
} else {
echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n";
}
}
?>