Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Попытка убрать меню из контроллера убирает всю шапку


Recommended Posts

В файле: /catalog/controller/common/header.php

 

Так как мне не нужно стандартное меню, я убираю:

 

$data['menu'] = $this->load->controller('common/menu');

 

Но пропадает сразу вся шапка. Никаких условий в твиге нету.

 

Надіслати
Поділитися на інших сайтах


10.11.2024 в 00:48, AlexMax13 сказал:

В файле: /catalog/controller/common/header.php

 

Так как мне не нужно стандартное меню, я убираю:

 

$data['menu'] = $this->load->controller('common/menu');

 

Но пропадает сразу вся шапка. Никаких условий в твиге нету.

 

Правильно, так як саме меню виводиться за рахунок 

{{ menu }}

 а цей фрагмент коду одна із частин яка цей тег робить робочим, а оскільки ви видаляєте, то і тег 

{{ menu }}

 Не виводить інформацію. Значить у вашому шаблоні щось зав'язано на цьому виводі. Це якщо коротко та у 2 словах без зайвих пояснень. Зовнішній вигляд меню можна підправити у відповідному файлі menu.twig по цьому шляху \view\theme\ваша тема дизайну\template\common\ 

 

Якщо вам треба прибрати меню, то приберіть просто тег в твігі і все буде гуд. 

 

Це так міні рекомендація, не бачучі сайт, більш конкретно нічого сказати не можливо.

Надіслати
Поділитися на інших сайтах

10.11.2024 в 02:14, SSHEVA сказал:

Якщо вам треба прибрати меню, то приберіть просто тег в твігі і все буде гуд. 

 

так, але меню багато чого підгружає через контроллер. у мому випадку - лишнього.
як мінімум:

Скрытый текст
$this->load->language('common/menu');

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

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

		$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);

 


Навіть якщо я просто приберу в твігу, в контроллері то все буде всеодно оброблятись.

Прийшов до геніального рішення)) :mrgreen:
Просто видалив весь мусор з самого файлу контроллера menu.php (вище під спойлером його попередній вміст). А ось як він тепер виглядає:
 

<?php
class ControllerCommonMenu extends Controller {
	public function index() {
		return $this->load->view('common/menu', $data);
	}
}


Як мінімум відпали запити до файлів контроллерів і бд
Шкода, що не можна стерти повністю, бо тоді або пропадає шапка, або взагалі помилка 500.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.