如何将新模块添加到 opencart 管理中


How to add new module to opencart administration?

我想在 opencart 管理中将子菜单项"位置"添加到"目录"菜单项。在选择位置时,我想查看我自己的位置管理视图页面,该页面与 opencart 数据库中我自己的位置表不符。

请让我知道在哪里以及创建什么 mvc 以在打开购物车中实现此功能。谢谢。

如何创建一个 opencart 管理模块?

您可以通过调整以下内容来简单地执行此操作:

Admin > controller > view > template > common > header.tpl

您只需对此页面上的菜单进行调整(静态更改)。实际为您和您的员工等创建模块。然后按照此页面上发布的 MVC 教程进行操作:

如何在Opencart中创建自定义管理页面?

我已经在我的opencart项目中实现了你的概念。

笔记:

1)默认情况下,在产品添加仪表板页面中有一个字段可以输入产品位置,您可以在那里填写产品位置并遵循我的观点

2)打开目录>模型>类别.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) 打开目录>控制器>模块>类别.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)在管理端重要激活类别模块并保存它选择