Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Как сделать разные header для главной и внутренних


Recommended Posts

Всем привет. Ребят, подскажите пожалуйста - как можно сделать что бы на главной отображалась одна шапка, а для внутренних страниц другая. Очень нужно) 

Link to post
Share on other sites

13 минут назад, REDDI сказал:

Всем привет. Ребят, подскажите пожалуйста - как можно сделать что бы на главной отображалась одна шапка, а для внутренних страниц другая. Очень нужно) 

Имеете ввиду разные шаблоны

header.tpl и header2.tpl?

И уточните версию Opencart

Link to post
Share on other sites
26 минут назад, REDDI сказал:

Всем привет. Ребят, подскажите пожалуйста - как можно сделать что бы на главной отображалась одна шапка, а для внутренних страниц другая. Очень нужно) 

в контролере header.php проверяйте на какой странице находитесь и отдавайте разный шаблон

Link to post
Share on other sites

39 минут назад, Exploits сказал:

Имеете ввиду разные шаблоны

header.tpl и header2.tpl?

И уточните версию Opencart

Нет. Просто разный код) 2.3 версия

Link to post
Share on other sites

24 минуты назад, krumax сказал:

в контролере header.php проверяйте на какой странице находитесь и отдавайте разный шаблон

дофига ошибок если через $_SERVER делаю) Там же вроде не особо можно php использовать.

Link to post
Share on other sites

24 минуты назад, REDDI сказал:

дофига ошибок если через $_SERVER делаю)

покажите что делаете

24 минуты назад, REDDI сказал:

Там же вроде не особо можно php использовать.

там, это где?

Link to post
Share on other sites
1 час назад, krumax сказал:

в контролере header.php проверяйте на какой странице находитесь и отдавайте разный шаблон

 

48 минут назад, REDDI сказал:

дофига ошибок если через $_SERVER делаю) Там же вроде не особо можно php использовать.

:mellow:

 

смотрите 

$this->request->get['route']

 

Link to post
Share on other sites

// For page specific css
if (isset($this->request->get['route'])) {
	if (isset($this->request->get['product_id'])) {
		$class = '-' . $this->request->get['product_id'];
	} elseif (isset($this->request->get['path'])) {
		$class = '-' . $this->request->get['path'];
	} elseif (isset($this->request->get['manufacturer_id'])) {
		$class = '-' . $this->request->get['manufacturer_id'];
	} elseif (isset($this->request->get['information_id'])) {
		$class = '-' . $this->request->get['information_id'];
	} else {
		$class = '';
	}

	$data['class'] = str_replace('/', '-', $this->request->get['route']) . $class;
	
	if($this->request->get['route'] == 'common/home'){
		$data['my_value'] = 'a';
	}else{
		$data['my_value'] ='b' ;
	}
	
		
} else {
	$data['class'] = 'common-home';
	
	$data['my_value'] = 'a';
}

p.s /

протупил,  если есть  route,  тоже может быть главная

подправил

Link to post
Share on other sites
2 часа назад, REDDI сказал:

Всем привет. Ребят, подскажите пожалуйста - как можно сделать что бы на главной отображалась одна шапка, а для внутренних страниц другая. Очень нужно) 

модуль супер кастом блокс 

гугли

Link to post
Share on other sites

Люди... Вы серьёзно?

		$route = isset($this->request->get['route']) ? $this->request->get['route'] : 'common/home';

		if ($route == 'common/home' ) {

			// шаблон для главной header_home.tpl

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

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

 

 

  • +1 2
Link to post
Share on other sites

Чем не вариант просто сверстать иначе home.tpl  ? )))

Link to post
Share on other sites
Чем не вариант просто сверстать иначе home.tpl  ? )))
Не вариант.

Надіслано використовуючи Tapatalk

Link to post
Share on other sites

:blink:

 

открывайте home.php и смотрите подключение хедера, там и меняйте

Link to post
Share on other sites
1 час назад, Otvet сказал:

 

открывайте home.php и смотрите подключение хедера, там и меняйте

предлагаете подключать ещё и отдельный контроллер?

 

:shock:

Видимо я что-то не понимаю...

Link to post
Share on other sites

9 минут назад, krumax сказал:

предлагаете подключать ещё и отдельный контроллер?

Вполне

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

Link to post
Share on other sites

а для 2.3. можно для этого использовать событие  common/header/before

Link to post
Share on other sites

@chukcha  я просто не понимаю, зачем отдельный контроллер, если достаточно сделать отдельный шаблон )

Link to post
Share on other sites

Если, например, главная - это intro страница, где используется свое меню
Зачем подключать, например монстра типа  мегменю

пример intro страницы могу показать

Link to post
Share on other sites

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

  • +1 1
Link to post
Share on other sites

фифтифифти
Это кастомная страница, и ответственность за нее ложится на плечи автора(владельца)

Link to post
Share on other sites
  • 1 year later...
В 01.07.2018 в 22:09, krumax сказал:

Люди... Вы серьёзно?


		$route = isset($this->request->get['route']) ? $this->request->get['route'] : 'common/home';

		if ($route == 'common/home' ) {

			// шаблон для главной header_home.tpl

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

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

 

 

 

У меня тоже задача, подскажите куда этот код вставлять? В какой файл? И после чего? Что-то что есть заменить? 

Version 2.3.0.2 (trs-2.3.0.0)

 

Link to post
Share on other sites

@Eandy

правите контроллер /catalog/controller/common/header.php

вот этот кусок кода http://prntscr.com/ob1nmf адаптируйте по моему примеру.

 

Link to post
Share on other sites

1 час назад, krumax сказал:

@Eandy

правите контроллер /catalog/controller/common/header.php

вот этот кусок кода http://prntscr.com/ob1nmf адаптируйте по моему примеру.

 

Спасибо за ответ, но у меня нет такого кода в /catalog/controller/common/header.php

У меня в этом файле нет упоминания header.tpl

 

 

header.php

Link to post
Share on other sites

1 час назад, Eandy сказал:

нет упоминания header.tpl

в 2.3  header  без расширения

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

 

Link to post
Share on other sites
39 минут назад, fanatic сказал:

в 2.3  header  без расширения


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

 

а так уже понятнее :-)

Спасибо!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.