Jump to content

Recommended Posts

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Posted (edited)
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>

 

Edited by b3Nky

Share this post


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

 


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

Share this post


Link to post
Share on other sites

 

Share this post


Link to post
Share on other sites
<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>

 

Share this post


Link to post
Share on other sites
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:\

Share this post


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

 

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

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

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

https://monosnap.com/file/lurTCYMmwIAqWSGgDsJbaSTvw71wMM

 

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

https://monosnap.com/file/saSDcpllSPohBDe7FulAo7ktr0rNhF

 

Share this post


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

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

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

https://monosnap.com/file/lurTCYMmwIAqWSGgDsJbaSTvw71wMM

 

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

https://monosnap.com/file/saSDcpllSPohBDe7FulAo7ktr0rNhF

 


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

Снимок.PNG

Share this post


Link to post
Share on other sites

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

Share this post


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

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

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

Share this post


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

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

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

any_header.rar

Share this post


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

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

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

Share this post


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

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

 

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites
37 минут назад, ibond сказал:
  Показать контент

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites
<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>

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.