Как добавить адреса и телефоны в шапку OpenCart?

Так получилось, что срочно возникла необходимость создать интернет-магазин на OpenCart.
При этом практического опыта работы с этой CMS до начала проектирования сайта у меня не было.
В арсенале были знания css3 и html5, немного php и javascript, а из популярных систем управления я был знаком только с joomla.
Но отступать было некуда — задача была поставлена и рабочий процесс закипел.

Первая проблема, с которой я столкнулся, это добавление информации о магазине (адреса, телефоны и т.д.) в шапку сайта.

После непродолжительных поисков контроллера, отвечающего за вывод шапки в OpenCart, в файловой структуре на хостинге был найден файл header.twig, который, как выяснилось, необходимо править не через сервер, а через админ-панель.
Там он расположен по адресу: дизайн→редактор шаблона→common→header.twig.

1. Открываем файл в редакторе, и после контейнера:
<div class="col-sm-4">
<div id="logo">{% if logo %}<a href="{{ home }}"><img src="{{ logo }}" title="{{ name }}" alt="{{ name }}" class="img-responsive" /></a>{% else %}
<h1><a href="{{ home }}">{{ name }}</a></h1>
{% endif %}</div></div>

в строке 76 вставляем следующий код:

<div class="col-sm-3">
<div class="adress">
<p><i class="fa fa-map-marker"></i> Адрес: {{storeaddress}}</p>
<p><i class="fa fa-phone"></i>Телефон: {{ telephone }}</p>
</div>
</div>
Так же необходимо сократить в размерах контейнеры, содержащие логотип и строку поиска.
Для этого в строках 71 и 83  <div class="col-sm-4"> переименовываем в  <div class="col-sm-3">.

 

2. В контроллер, расположенный по адресу public_html/catalog/controller/common/header.php
в строке 79 (зависит от вашей  темы) после
$data['contact'] = $this->url->link('information/contact');

добавляем, если отсутствует, такую переменную:

$data['storeaddress'] = html_entity_decode($this->config->get('config_address'), ENT_QUOTES, 'UTF-8');

3. В css-файл, расположенный по адресу:
../public_html/catalog/view/theme/default/stylesheet.css, где «default» — название вашей темы, прописываем следующее:

.adress i {
font-size: 17px;
margin-right: 7px;
color: #2199c7;}
.adress p {
font-size: 15px;
text-align: center;}
 Конечный результат можно увидеть на скриншоте:

Не забываем обновлять кэш модификаторов и кэш браузера.

Так же через header.twig можно отредактировать верхнее меню, перенести строку поиска и корзину, но об этом в следующих статьях.

 


Комментарии

    Алексей

    (15.08.2018 - 02:33)

    То,что искал. Спасибо.

    Антон

    (02.07.2020 - 17:18)

    Добрый день! Подскажите пожалуйста, а как удалить самые верхние телефоны, где кабинет и корзина. И еще вопрос, где можно посмотреть Ваши дальнейшие уроки по open cart?

      Admin

      (02.07.2020 - 19:17)

      Добрый день, Антон. Верхние телефоны удаляются в этом же файле header.twig.
      После строки 45 < ul сlass="list-inlinе" > (для дефолтной темы) удаляете или комментируете этот код:
      < li>< a href="{{ contact }}" rel="nofollow">< i class="fa fa-phone" > < span class="hidden-xs hidden-sm hidden-md" >{{ telephone }}< /li >.
      Дальнейшие уроки можно посмотреть в рубрике, посвященной opencart: https://coderistu.ru/category/open-cart/

    Антон

    (03.07.2020 - 10:04)

    Добрый день! Большое спасибо за ответ! А возможно ли заменить дефолтные телефоны на свои? Немного непонятно, зачем они так все усложнили, ведь это CMS, они как мне кажется были созданы для людей, которые обладают минимальными познаниями в программировании.

      Admin

      (03.07.2020 - 12:58)

      Добрый день. Да, телефоны поменять можно через админку во вкладке "система - настройки - магазин".
      Opencart - бесплатный движок с очень большим количеством недостатков и недоработок. Поэтому, чтобы сделать на нем полноценный магазин, познания в программировании все - таки понадобятся.

    Антон

    (03.07.2020 - 11:28)

    И еще забыл спросить, есть ли файлы в которых храниться текст или вся информация где-то в базах данных. У меня сейчас задача доработать сайт на open cart. Сам "создавал" сайты на Joomla и WordPress, всегда можно было подкорректировать шаблон, обладая CSS, HTML и немного PHP. Заранее спасибо за ответ!

      Admin

      (03.07.2020 - 13:04)

      Не совсем понял вопроса..
      Если вы имеете в виду файлы шаблона, то их можно подкорректировать в админке через вкладку "Дизайн - редактор шаблона".
      Или через файловый менеджер хостинга: /catalog/view/theme/default/template
      Файл стилей правится через хостинг и находится по адресу: /catalog/view/theme/ваша-тема/stylesheet.css

    Антон

    (03.07.2020 - 13:50)

    Да, все совершенно верно. Но файл шаблона, не PHP или tpl, а twig. И я не могу понять, где находится информация. Сейчас пытаюсь доработать сайт и мне не найти, к примеру где прописан телефон, мне нужно его изменить. В админке нет, могу поменять только категории, товары, статьи, это текст в футере.
    Но что в хедере, номера телефонов, мне не найти. Может я не правильно понимаю, но по идее из шаблона twig, должно быть обращение к файлу PHP, где должен быть старый номер телефона.

      Admin

      (03.07.2020 - 18:53)

      Php - контроллер хедера находится по адресу /catalog/controller/common/header.php
      За вывод телефона на странице отвечает переменная $data['telephone'] = $this->config->get('config_telephone');
      Сам телефон задается в админке через вкладку "система - настройки - магазин".
      За вывод телефона в twig - файле отвечает переменная {{ telephone }}.

    Антон

    (03.07.2020 - 19:18)

    Спасибо! Буду пробовать.

Добавить комментарий

Ваш e-mail не будет опубликован.