我想在 opencart 管理中将子菜单项“位置”添加到“目录”菜单项。在选择位置时,我想查看我自己的位置管理视图页面,该页面包含我自己在 opencart 数据库中的位置表。
请让我知道在哪里以及创建什么 mvc 以在打开的购物车中实现此功能。谢谢你。
如何创建一个 opencart 管理模块?
您可以通过调整简单地做到这一点:
Admin > controller > view > template > common > header.tpl
您可以简单地调整此页面上的菜单(静态更改)。为您和您的员工等实际创建模块。然后按照此页面上发布的 MVC 教程进行操作:
我已经在我的 opencart 项目中实现了你的概念。
笔记:
1)默认情况下,在产品添加仪表板页面中有一个输入产品位置的字段,您在那里填写产品位置并按照我的观点
2)打开目录>模型> category.php添加此代码
function getCategoryLoction($category_id) {
$sql = "select p.location,count(p.location) as locCount from " . DB_PREFIX . "product p inner join " . DB_PREFIX . "product_to_category p2c on(p.product_id=p2c.product_id) where p2c.category_id=$category_id group by p.location";
$query = $this->db->query($sql);
return $query->rows;
}
3)打开目录>控制器>模块> category.php添加此代码
/* location based search starts here */
$incomingCatId = ($this->data['category_id']!= '')?$this->data['category_id']:'0';
$locations = $this->model_catalog_category->getCategoryLoction($incomingCatId);
foreach($locations as $loc):
$this->data['locations'][] = array(
'location' => $loc['location'],
'count' => $loc['locCount'],
'href' => $this->url->link('product/category', 'path=' . $incomingCatId.'&loc='.$loc['location'].'')
);
endforeach;
/* location based search ends here */
4)打开目录>查看>主题>默认>模板>模块>类别.tpl类别添加此代码
<div class="l_nav_box">
<div class="l_nav_title">
<h6>Location</h6>
</div>
<ul class="cat_ul">
<?php if(!empty($locations)): ?>
<?php foreach ($locations as $loc) : ?>
<?php if($loc['location']!= ''): ?>
<li> <a href="<?php echo $loc['href']; ?>"><?php echo $loc['location']; ?> <span>(<?php echo $loc['count']; ?>)</span> </a> </li>
<?php endif; ?>
<?php endforeach; ?>
<?php else: ?>
No Locations mentioned
<?php endif; ?>
</ul>
</div>
5)在管理员端重要激活类别模块并保存选择