2017-08-23 3 views
0

インターネット上のOpenCartのヘルプは*.tplファイルにあります... しかし、OpenCartは今更新されているので、私が直面している基本的な問題は、トップメニューの情報ページ「aboutus」。OpenCart 3.0.xのトップメニューに情報ページを入力

{% if categories %} 
<div class="container"> 
    <nav id="menu" class="navbar"> 
    <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> 
     <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"> </i></button> 
    </div> 

    <div class="collapse navbar-collapse navbar-ex1-collapse"> 
     <ul class="nav navbar-nav"> 
     {% for category in categories %} 
     {% if category.children %} 


      <div class="dropdown-menu"> 
      <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length/category.column|round(1, 'ceil')) %} 
       <ul class="list-unstyled"> 
       {% for child in children %} 
       <li><a href="{{ child.href }}">{{ child.name }}</a></li> 
       {% endfor %} 
       </ul> 
       {% endfor %}</div> 
    <a href="{{ category.href }}" class="see-all">{{ text_all}}{{category.name }}</a> </div> 

     </li> 

     {% else %} 
     <li><a href="{{ category.href }}">{{ category.name }}</a></li> 

     {% endif %} 
     {% endfor %} 

     <li><a href="{{ information.href }}">{{ information.href }}</a></li> 

    </ul> 

     </div> 
    <ul class="nav navbar-nav"> 
    <li><a href="{{ localhost/ghazi/upload/about_us }}">About US</a></li> 

    </ul> 
    </nav> 
    </div> 
{% endif %} 

をし、次のようにコントローラがmenu.phpです:私は変更することができます何のHTMLビューはありません、私は次のようなカテゴリがトップメニュー に表示させ.twigファイルをしました

<?php 
class ControllerCommonMenu extends Controller { 
    public function index() { 
     $this->load->language('common/menu'); 

     // Menu 
     $this->load->model('catalog/category'); 

     $this->load->model('catalog/product'); 
     $this->load->model('catalog/information'); 
     $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) { 
        $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']) 
        ); 
       } 

       // 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']) 
       ); 

      } 
     } 


     return $this->load->view('common/menu', $data); 
     } 
     } 

私たちについてトップ・メニューのページを表示したいだけです

+0

情報ページを含むようにコントローラを調整すると、トップメニューに表示したくない他の情報ページが表示される可能性があります。単一の情報ページだけを追加したい場合は、メニューのリンクをハードコーディングしないでください。 – Daniel

+0

どうすればいいですか? –

答えて

0

ページを表示するようにコントローラを編集するのは、実際にはコードを調整しているのと似ていますから、 URLをハードコーディングしてtwiggファイル。既存のメニューの最後にメニュー項目を追加するつもりだ、あなたは以下のコードを試すことができますと仮定:

{% if categories %} 
<div class="container"> 
    <nav id="menu" class="navbar"> 
    <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> 
     <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> 
    </div> 
    <div class="collapse navbar-collapse navbar-ex1-collapse"> 
     <ul class="nav navbar-nav"> 
     {% for category in categories %} 
     {% if category.children %} 
     <li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a> 
      <div class="dropdown-menu"> 
      <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length/category.column|round(1, 'ceil')) %} 
       <ul class="list-unstyled"> 
       {% for child in children %} 
       <li><a href="{{ child.href }}">{{ child.name }}</a></li> 
       {% endfor %} 
       </ul> 
       {% endfor %}</div> 
      <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div> 
     </li> 
     {% else %} 
     <li><a href="{{ category.href }}">{{ category.name }}</a></li> 
     {% endif %} 
     {% endfor %} 
     <li><a href="http://storeURL/index.php?route=information/information&information_id=4">About Us</a></li> 
     </ul> 
    </div> 
    </nav> 
</div> 
{% endif %} 

情報ページのIDが実際に「4」であることを確認し、へstoreURLを変更してください。あなたの店のそれ。

コントローラファイルにstoreURLを含めてから、メニューでそれを参照することはできますが、これは実際には役に立たない追加の作業だと思います。特に、1つの情報ページだけを表示したいトップメニュー。

+0

"http://localhost/ghazi/upload/index.php?route = information/information&information_id = 4"これを使用しましたが、まだメニューに表示されていません....このURLは、それを確認した –

+0

あなたのキャッシュをリフレッシュする必要があります。管理者は、上部の[ログアウト]ボタンの下にある青色のボタンをクリックし、これをクリックしてサイトで作業中にキャッシュを無効にしてください – Daniel

+0

Danielありがとうございました... –

関連する問題