我在opencart管理面板中添加了4个类别作为4个级别,
Home
Home -> Furniture
Home -> Furniture -> Wooden (Getting menus up to this level)
Home -> Furniture -> wooden -> Lightweight (Need to display this level)
最初,我在菜单中显示第三级类别时遇到了问题。我使用这个post启用了第三级菜单
像这样,如何启用4级分类。
发布于 2015-11-02 18:42:32
标头控制器
$data['categories'] = array();
$categories = $this->model_catalog_category->getCategories(0);
foreach ($categories as $category) {
if ($category['top']) {
// Level 2
$children_data = array();
$children = $this->model_catalog_category->getCategories($category['category_id']);
foreach ($children as $child) {
// Level 3 sultan
$children_data_3 = array();
$children_3 = $this->model_catalog_category->getCategories($child['category_id']);
foreach ($children_3 as $child_3) {
$filter_data_3 = array(
'filter_category_id' => $child_3['category_id'],
'filter_sub_category' => true
);
$children_data_3[] = array(
'name' => $child_3['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data_3) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $child_3['category_id'])
);
}
//end of level 3
$filter_data = array(
'filter_category_id' => $child['category_id'],
'filter_sub_category' => true
);
$children_data[] = array(
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']),
'grand_childs' => $children_data_3
);
}
// Level 1
$data['categories'][] = array(
'name' => $category['name'],
'children' => $children_data,
'column' => $category['column'] ? $category['column'] : 1,
'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
);
}
}
第三方物流代码
<ul class="nav navbar-nav">
<?php foreach ($categories as $category) { ?>
<?php if ($category['children']) { ?>
<li class="dropdown">
<a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
<div class="dropdown-menu">
<div class="dropdown-inner">
<?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
<ul class="nav">
<?php foreach ($children as $child) { ?>
<li class="dropdown-submenu" >
<a href="<?php echo $child['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $child['name']; ?></a>
<?php if($child['grand_childs']){
echo '<ul class="dropdown-menu sub-menu">';
foreach($child['grand_childs'] as $grand_child){ ?>
<li>
<a href="<?php echo $grand_child['href']; ?>" ><?php echo $grand_child['name']; ?></a>
</li>
<?php }
echo '</ul>';
}
?>
</li>
<?php } ?>
</ul>
<?php } ?>
</div>
<a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
</li>
<?php } else { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
发布于 2016-02-11 12:09:49
首先,从here下载vqmod,然后解压保存在站点根目录中的it.Now vqmod文件夹。然后转到浏览器,写下你的站点url,然后"/ vqmod / install“,然后按enter,然后你会得到一条消息,你可以在你的站点上成功安装vqmod。现在下载一个扩展表单here并解压缩它。并在你的站点中保留解压缩文件,在你的站点中指定foulder : menu3rdlevel-opencart-2_2\vqmod\xml/Menu3rdLevel.xml文件,例如: vqmod\xml/Menu3rdLevel.xml,它们是带有"menu3rdlevel“文件夹的其他文件。从你的扩展文件夹"javascript“到你的站点文件夹"javescript",扩展文件夹"image”到站点文件夹"image“,扩展文件夹"stylsheet”到站点文件夹"stylsheet“。然后在浏览器中刷新你的站点,现在可以了。
注意:只传输xml文件和带有"menu3rdlevel“文件夹的其他文件。
发布于 2016-12-16 17:46:06
用于在主菜单中显示子类别。请执行以下更改。
编辑header.php控制器文件
$sec_children_data = array();
$sec_children = $this->model_catalog_category->getCategories($child['category_id']);
foreach ($sec_children as $sec_child) {
$sec_children_data[] = array(
'name' => $sec_child['name'] . ($this->config->get('config_product_count') ? '' : ''),
'href' => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $sec_child['category_id'])
);
}
编辑header.tpl
?php if (isset($category['children'][$i]['level3'])) {
$level3menus = $category['children'][$i]['level3'];
?>
<ul class="level3">
<?php
foreach( $level3menus as $level3menu) {
?>
<li><a href="<?php echo $level3menu['href']; ?>" class=""><?php echo $level3menu['name'];?></a></li>
<?php } ?>
请参考我的教程,逐步解释和演示。
https://stackoverflow.com/questions/14451722
复制相似问题