Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Два разных header


 Поделиться

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

Здравствуйте !

Нужно вывести на главной один хедер но с добавлением текста и кнопок и на всех остальных страницах обычный.
Впервые работаю с Open Cart 3, подскажите пожалуйста как это можно реализовать.
 

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

Или через модификатор, но какие строки нужно изменить ?!

Что посоветуете, как будет правильно это сделать ?

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


В контроллере хедера ставите нужную тпл-ку. Делать это через модификатор или напрямую изменять контроллер - тут уже решайте сами.

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


16 минут назад, htmlart сказал:

В контроллере хедера ставите нужную тпл-ку. Делать это через модификатор или напрямую изменять контроллер - тут уже решайте сами.


Думаю нагло лезть в контроллер без достаточного опыта не стоит.

Конкретизируйте пожалуйста шаги для выполнения, или возможно есть подробная инструкция по решению ?!
Если через модификатор то какие строки нужно изменить ?


Таким образом я добавил вывод нужного контента в header но он выводится так же и на других страницах, подскажите что нужно изменить.

<file path="catalog/controller/common/header.php">
		<operation>
			<search><![CDATA[
				$this->load->view('common/header', $data);
			]]></search>
			<add position="replace"><![CDATA[
				 	$this->load->view('common/home_header', $data);
						if ($route == 'common/home' ) {
							return $this->load->view('common/home_header', $data);
						}	
			]]></add>
		</operation>
</file>

 

Изменено пользователем b3Nky
Ссылка на комментарий
Поделиться на других сайтах


10 минут назад, htmlart сказал:

 


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

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


 

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


<add position="replace"><![CDATA[
    if (isset($this->request->get['route']) && $this->request->get['route'] == 'common/home') {
        return $this->load->view('common/home_header', $data);
    } else {
        return $this->load->view('common/header', $data);
    }
]]></add>

 

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

20 минут назад, ibond сказал:

<add position="replace"><![CDATA[
    if (isset($this->request->get['route']) && $this->request->get['route'] == 'common/home') {
        return $this->load->view('common/home_header', $data);
    } else {
        return $this->load->view('common/header', $data);
    }
]]></add>

 

 

Получил в итоге Parse error: syntax error, unexpected 'if' (T_IF) in D:\

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


12 минут назад, b3Nky сказал:

 

Получил в итоге Parse error: syntax error, unexpected 'if' (T_IF) in D:\

В итоге что-то не так написали, например ; забыли поставить.

Пример рабочий:

https://monosnap.com/file/lurTCYMmwIAqWSGgDsJbaSTvw71wMM

 

Ну или скопировали прям с моего примера, а там BOM-символ пришел:

https://monosnap.com/file/saSDcpllSPohBDe7FulAo7ktr0rNhF

 

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

15 минут назад, ibond сказал:

В итоге что-то не так написали, например ; забыли поставить.

Пример рабочий:

https://monosnap.com/file/lurTCYMmwIAqWSGgDsJbaSTvw71wMM

 

Ну или скопировали прям с моего примера, а там BOM-символ пришел:

https://monosnap.com/file/saSDcpllSPohBDe7FulAo7ktr0rNhF

 


Да, я копировал прямо с вашего примера, вроде бы ничего не забыл закрыть.
Этот код я добавляю в модификатор, может быть в этом дело ?

Снимок.PNG

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


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

Спасибо вам огромное за старание, но по прежнему работает только тот кусок который я оставил выше :(

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


1 минуту назад, b3Nky сказал:

Спасибо вам огромное за старание, но по прежнему работает только тот кусок который я оставил выше :(

Скиньте мне ваш модифицированный header.php

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

10 минут назад, ibond сказал:

Скиньте мне ваш модифицированный header.php

вот, все что было собрал

any_header.rar

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


8 минут назад, b3Nky сказал:

вот, все что было собрал

модифицированный, тот что лежит в storage/modification

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

6 минут назад, ibond сказал:

модифицированный, тот что лежит в storage/modification

 

Эмм, в этой директории у меня пусто...видимо я делаю что-то не так ?

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


2 минуты назад, b3Nky сказал:

Эмм, в этой директории у меня пусто...видимо я делаю что-то не так ?

но это для двойки, но почти одно и тоже

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

37 минут назад, ibond сказал:
  Показать контент

но это для двойки, но почти одно и тоже

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

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


2 минуты назад, b3Nky сказал:

но файл в соответствующей папке не появляется

в тройке папка может выносится за пределы корневого каталога магазина

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

<file path="catalog/controller/common/header.php">
    <operation>
      <search><![CDATA[
        $data['name'] = $this->config->get('config_name');
      ]]></search>
      <add position="after"><![CDATA[
        $this->load->model('catalog/information');
        $data['contact'] = $this->url->link('information/contact');

        if (is_file(DIR_IMAGE . $this->config->get('config_icon'))) {
          $this->document->addLink($server . 'image/' . $this->config->get('config_icon'), 'icon');
        }

        if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
          $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
        } else {
          $data['logo'] = '';
        }

        $data['informations'] = array();

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

        if (isset($this->request->get['route'])) {
          $this->document->addLink($this->config->get('config_url'), 'canonical');
        }
        
      ]]></add>
    </operation>
  </file>

Есть еще один модификатор шапки, возможно они конфликтуют ?

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


  • 2 месяца спустя...

В итоге решил не бросать начатое, но перешел на версию 2.3.0.2
 

<file path="catalog/controller/common/header.php">
    <operation>
      <search><![CDATA[
        $this->load->view('common/header', $data);
      ]]></search>
      <add position="before"><![CDATA[
        if (isset($this->request->get['information_id'])) {
			$information_id = 8;
          return $this->load->view('common/about_header', $data);
        }
      ]]></add>
    </operation>
  </file>

этот вариант тоже не помог :(

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


49 минут назад, b3Nky сказал:

В итоге решил не бросать начатое, но перешел на версию 2.3.0.2
 


<file path="catalog/controller/common/header.php">
    <operation>
      <search><![CDATA[
        $this->load->view('common/header', $data);
      ]]></search>
      <add position="before"><![CDATA[
        if (isset($this->request->get['information_id'])) {
			$information_id = 8;
          return $this->load->view('common/about_header', $data);
        }
      ]]></add>
    </operation>
  </file>

этот вариант тоже не помог :(

 

та уже забыл что хотите

if (isset($this->request->get['information_id']) && $this->request->get['information_id'] == 8) {

наверное так хотели?

 

 

 

 

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

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

 

та уже забыл что хотите


if (isset($this->request->get['information_id']) && $this->request->get['information_id'] == 8) {

наверное так хотели?

 

 

 

 

<file path="catalog/controller/common/header.php">
    <operation>
      <search><![CDATA[
        $this->load->view('common/header', $data);
      ]]></search>
      <add position="before"><![CDATA[
       if (isset($this->request->get['information_id']) && $this->request->get['information_id'] == 8) {
        return $this->load->view('common/about_header', $data);}
      ]]></add>
    </operation>
  </file>

хочу вывести разные шапки для каждой сстатьи.
если я все правильно сделал то все-равно ничего не изменилось

Изменено пользователем b3Nky
Ссылка на комментарий
Поделиться на других сайтах


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

если я все правильно сделал то все-равно ничего не изменилось

Для начала убедитесь, что ваша правка есть в кеше модификаторов.

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


10 часов назад, Dotrox сказал:

Для начала убедитесь, что ваша правка есть в кеше модификаторов.

в storage\modification\catalog\controller\home\header.php изменения есть, как по этому модификатору так и по всем остальным.

Изменено пользователем b3Nky
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.