opencart 管理の「カタログ」メニュー項目にサブメニュー項目「ロケーション」を追加したいと考えています。ロケーションを選択する際に、opencart データベース内の自分のロケーション テーブルと連携する、自分のロケーション管理ビュー ページを表示したいと考えています。
カートを開いた状態でこの機能を実現するには、どこでどの 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)カタログを開く>表示>テーマ>デフォルト>テンプレート>モジュール>category.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)管理者側で重要なカテゴリモジュールをアクティブにして保存する