Link in progress
Обо мне
Контакты в шапке opencart через админ-панель

Контакты в шапке сайта. РезультатПродолжаем наши уроки по OpenCart. В прошлом уроке мы вывели контакты в шапку сайта. Сегодня мы будем усовершенствовать этот урок. Разберемся с тем, как вывести контакты в шапку сайта и получить возможность редактировать их с админ-панели.

Заметка
Этот урок – это продолжение первого урока. Это означает, что нужно сначала первый урок сделать, а потом приступать к этому уроку.

1. Открываем catalog\view\theme\default\template\common\header.tpl

1
2
3
4
5
6
7
8
9
10
11
Меняем номера телефона на:
<?php echo $phone1;?>
<?php echo $phone2;?>
<?php echo $phone3;?>

Должно получится вот так:
<div id="head_contact">
  <div class="life"><?php echo $phone1;?></div>
  <div class="Kyivstar"><?php echo $phone2;?></div>
  <div class="MTC"><?php echo $phone3;?></div>
  </div>

2. Открываем catalog\controller\common\header.php

1
2
3
4
5
6
7
8
9
находим:
else {
$this->data['logo'] = '';
}

после вставляем:
$this->data['phone1'] = $this->config->get('contact_phone1');
$this->data['phone2'] = $this->config->get('contact_phone2');
$this->data['phone3'] = $this->config->get('contact_phone3');

3. Теперь осталось в переменные $phone1, $phone2 и $phone3 записать номера телефонов. Для этого мы допишем поля в админ панели.Контакты в шапке сайта. До изменений.Контакты в шапке сайта. РезультатКонтакты в шапке Вот что у нас есть сейчас и что нам хочется получить:

4. Добавим поля ввода номеров телефона в админ-панели. Открываем admin\view\template\setting\setting.tpl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
находим:
<tr>
  <td><span class="required">*</span> <?php echo $entry_email; ?></td>
     …
  </tr>

после вставляем:
<?php // Контакты в шапке?>
<tr>
  <td><?php echo $entry_heading_phone; ?>
  <td><input type="text" name="contact_phone1" value="<?php echo $contact_phone1; ?>" />
  <br /><input type="text" name="contact_phone2" value="<?php echo $contact_phone2; ?>" />
  <br /><input type="text" name="contact_phone3" value="<?php echo $contact_phone3; ?>" />
  </td>
</td>
</tr>

5. Что бы было все по феншую, сделаем вывод название строки «Контакты в шапке:» через языковый модуль. Открываем admin\controller\setting\setting.php и создаем переменную:

1
2
3
4
5
6
7
ищем:
$this->data['entry_email'] = $this->language->get('entry_email');

после вставить:
//Контакты в шапке.
$this->data['entry_heading_phone'] = $this->language->get('entry_heading_phone');
//###

6. Заполним нашу переменную текстом. Открываем admin\language\russian\setting\setting.php:

1
2
3
4
5
Ищем:
$_['entry_telephone'] = 'Телефон:';

после вставляем:
$_['entry_heading_phone'] = 'Контакты в шапке:';

7. Поля есть, вывод в шапку переменных – тоже есть. Осталось отправить наши контакты в БД. Открываем admin\controller\setting\setting.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
находим:
if (isset($this->request->post['config_telephone'])) {
        …
        }

после вставляем:
//Контакты в шапке
if (isset($this->request->post['contact_phone1'])) {
$this->data['contact_phone1'] = $this->request->post['contact_phone1'];
    } else {
    $this->data['contact_phone1'] = $this->config->get('contact_phone1');
}
if (isset($this->request->post['contact_phone2'])) {
    $this->data['contact_phone2'] = $this->request->post['contact_phone2'];
    } else {
    $this->data['contact_phone2'] = $this->config->get('contact_phone2');
}
if (isset($this->request->post['contact_phone3'])) {
    $this->data['contact_phone3'] = $this->request->post['contact_phone3'];
    } else {
    $this->data['contact_phone3'] = $this->config->get('contact_phone3');
}
// ###

8. Сохраняем все, загружаем на сервер и радуемся результату.

Вот уже что то похоже на то, что мы планировали в начале урока. Я подумал, посмотрел на форму и решил, что картинка должна задаваться тоже с админ панели или указать конкретно, в какое поле указывать нужный оператор? Думаю лучше будет указывать картинку для каждого поля. Вот этим мы и займемся в следующем уроке.
С вами был ProIN, до скорой встречи!

Контакты в шапке opencart через админ-панель: 6 комментариев

  1. Виктор

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

    1. Виктор

      Версия 2.0.2.0

      1. Марианна

        для версии 2 нужно вместо $this->data писать $data, может в этом причина?

    2. Должны быть ошибки. Если их нет наочно, тогда в «настройки-> ошибки» посмотрите. Напишите их, тогда попробую Вам помочь.

  2. Александр

    Приветствую! а что с таблицами никаких манипуляций делать не нужно? откуда ячейки возмутся для телефонов?

    1. Добрый вечер. Нет не нужно

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Max quality, min price, min time expenditure
Send me a message to: work@glogla.net
Portfolio