alinalessioYandex

[РЕШЕНО] Как дублировать главное меню (категории) в футере?

Рекомендуемые сообщения

Помогите пожалуйста в футер добавить меню, чтобы дублировалось то меню категорий, которое в шапке.
 
Попытался сделать так:
Скопировал из catalog\controller\common\header.php кусок кода с меню

// Menu
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}

		$this->load->model('catalog/category');
		
		$this->load->model('catalog/product');
		
		$this->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) {
					//Будем вычислять кол-во товаров в категориях только если это кол-во надо показывать
					if ($this->config->get('config_product_count')) {
						$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'])	
					);						
				}
				
				// Level 1
				$this->data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'active'   => in_array($category['category_id'], $parts),
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}
		
		$this->children = array(
			'module/language',
			'module/currency',
			'module/cart',
		);
				
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
		} else {
			$this->template = 'default/template/common/header.tpl';
		}

 

и вставил его в catalog\controller\common\footer.php

 

после этого так же копировал в catalog\view\theme\aqua\template\common\footer.tpl меню из catalog\view\theme\aqua\template\common\header.tpl

<?php if ($categories) { ?>
<div id="menu">
  <ul>
    <?php foreach ($categories as $category) { ?>
    <li><a href="<?php echo $category['href']; ?>">
	<span class="corner"></span>
	<span class="line-left"></span>
	<span class="line-right"></span>
	<span><?php echo $category['name']; ?></span>
	</a>
      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul>
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
          <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
          <?php } ?>
          <?php } ?>
        </ul>
        <?php } ?>
      </div>
      <?php } ?>
    </li>
    <?php } ?>
  </ul>
</div>
<?php } ?>

 

Результат: Меню действительно появилось в футере, но перед этим меню куча ошибок.

Вот список ошибок:

Notice: Undefined variable: description in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 7Notice: Undefined variable: keywords in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 10 Notice: Undefined variable: og_image in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 16 Notice: Undefined variable: icon in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 22Notice: Undefined variable: links in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 25Warning: Invalid argument supplied for foreach() in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 25 Notice: Undefined variable: styles in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 29Warning: Invalid argument supplied for foreach() in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 29 Notice: Undefined variable: scripts in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 36Warning: Invalid argument supplied for foreach() in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 36 Notice: Undefined variable: stores in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 49 Notice: Undefined variable: google_analytics in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 62
Notice: Undefined variable: logo in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 69
Notice: Undefined variable: text_home in W:\domains\localhost\aqua\catalog\view\theme\aqua\template\common\header.tpl on line 97

И что странно в футер перенеслось не только меню, но и весь хидер вместе с телефоном, который в header.tpl прописан и с поисковиком. Хотя html код меню я перенес без поисковика и телефона. И слайдшоу перестало работать еще.

 

Как правильно перенести главное меню (категорий) в футер?

 

 


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deim    241

Мне кажется, что вы из контроллера хедера вырезали код. На что собственно и намекает текст ваших ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shoputils    230

Похоже, ТС перенес из контроллера header.php в footer.php полностью код, вот и подхватывается все из header.tpl

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, ТС перенес из контроллера header.php в footer.php полностью код, вот и подхватывается все из header.tpl

Да нет. Я написал в первом посте какой именно код я вставил. Там вроде нет ничего лишнего. Только меню. Может я и ошибаюсь. Поправьте пожалуйста в чем может быть ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Shkip    34

Смотрите внимательно код который Вы перенесли в контроллере:

$this->children = array(
            'module/language',
            'module/currency',
            'module/cart',
        );
                
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/common/header.tpl';
        } else {
            $this->template = 'default/template/common/header.tpl';
        }

это точно не нужно. Вы к футеру привязали шаблон хедера, вот и отображается все из хедера. Уберите этот код - и будет Вам счастье!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shoputils    230

Именно это я и имел ввиду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 014

Сделал  VQMOD
 
скачать
 

.
978b66f00d84.png
.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за полезный VQMOD! Работает как часики!

 

А как еще и логотип в футер вынести?

 

Пробовал к в этом же vqmod вставить строки из контроллера хедера и блок из header.tpl с logo. После чего логотип вставляется в футер, но кроме него еще и ошибки показывает.

 

Подскажите пожалуйста как и логотип вставить в футер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 014

Не думаю ,что следует таскать весь код,вставьте картинку и прицепите ссылку на главную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу