4

opencart 管理の「カタログ」メニュー項目にサブメニュー項目「ロケーション」を追加したいと考えています。ロケーションを選択する際に、opencart データベース内の自分のロケーション テーブルと連携する、自分のロケーション管理ビュー ページを表示したいと考えています。

カートを開いた状態でこの機能を実現するには、どこでどの mvc を作成すればよいか教えてください。ありがとうございました。

4

2 に答える 2

2

私はすでにあなたのコンセプトを私の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)管理者側で重要なカテゴリモジュールをアクティブにして保存する

于 2012-09-18T09:56:46.077 に答える