opencart Adding a custom menu in the header menu

我只是一个虾纸丫 提交于 2020-01-07 07:02:03

问题


This is a tricky problem that I am having.

I have a client / friend that wants on their open cart menu a button for home, which I was able to solve. However he wants a drop down menu for advice which holds 5 items. These 5 items are Faq's, Contact us, Delivery Details, Privacy policy and Returns policy.

Straight forward enough however the pages are information pages.

What I'd like to do is to link to these pages.

The ID of the advise is 80

            foreach ($children as $child) {
                if ($child['category_id'] == 80) {
                    $children_data[] = array(
                        'name' => $this->data['text_advicefaq'] = $this->language->get('text_advicefaq'),
                        'href' => $this->url->link('information/information', 'information_id=13')
                    );
                }

                $data = array(
                    'filter_category_id'  => $child['category_id'],
                    'filter_sub_category' => true
                );

                $product_total = $this->model_catalog_product->getTotalProducts($data);

                $children_data[] = array(
                    'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
                    'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                );      
            }

回答1:


Try something like

Step 1

Open file catalog/view/theme/<your theme>/template/common/header.tpl.

Find menu code.

Add before </ul> tag:

      <li><a><?php echo $text_information; ?></a>
        <div>
          <ul>
            <?php foreach ($informations as $information) { ?>
            <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
            <?php } ?>
          <li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>
          </ul>
        </div>
      </li>


Step 2

Open file catalog/controller/common/header.php.

Find:

$this->data['text_checkout'] = $this->language->get('text_checkout');

Add After:

$this->data['text_information'] = $this->language->get('text_information');
$this->data['text_contact'] = $this->language->get('text_contact');


Step 3

In the same file catalog/controller/common/header.php

Find:

    $this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');

Add After:

    $this->load->model('catalog/information');
    $this->data['informations'] = array();
    foreach ($this->model_catalog_information->getInformations() as $result) {
        if ($result['bottom']) {
            $this->data['informations'][] = array(
                'title' => $result['title'],
                'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
            );
        }
    }
    $this->data['contact'] = $this->url->link('information/contact');

& then check it.



来源:https://stackoverflow.com/questions/24614528/opencart-adding-a-custom-menu-in-the-header-menu

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!