HappyUser

Изменение шапки (header.tpl) стандартного шаблона

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

HappyUser    0

Уважаемые гуру, подскажите пож-та

OpenCart изучаю не так давно поэтому сильно не критикуйте, (есть базовые знания Html и CSS)

 

Задача у меня была следующая добавить текстовое поле (тел) под кнопкой корзина товаров в базовом шаблоне

 

Сначало добавил <div class="header_PHONE"> в Header.tpl  (смотрите header.tpl.png)

Потом сделал в файле stylesheet.css описание стиля

.header_PHONE
{ 
float: right;
max-width: 300px;
margin-bottom: 5px;
margin-right: 18px;
font-size: 11pt;
font-family: verdana;
font-style: italic;
color: #333;
border: 1px dashed #38B0E3;
padding: 5px;
}

Вопрос в следующем правильно ли я это сделал? Есть ли более правильный способ?   Смотрите картинку header_screen.png

и что значит class="col-sm-3", "col-sm-2", "col-sm-4" можно ли использовать эти классы для собственных div

И почему ромбики с вопросами, я так понимаю что то с кодировкой?

 

Заранее спс за ответы и советы!

post-715751-0-89492800-1478425531_thumb.png

post-715751-0-33984500-1478425980_thumb.png

Изменено пользователем Skunk
[code]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Pascha    670

 

что значит class="col-sm-3", "col-sm-2", "col-sm-4"

есть базовые знания Html и CSS

видимо нужно еще освоить bootstrap

 

по телефону: 

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

в контроллер

$data['telephone'] = $this->config->get('config_telephone');
в тпл

<?php echo $telephone; ?>
ну и все будет выводится из настроек сайта в админке

И почему ромбики с вопросами, я так понимаю что то с кодировкой?

да... сохранят в utf без boom

но опять же по правилам: 

в контроллере определяем языковую переменную

в языковых файлах указываем значение переменной

в тпл - выводим переменную

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

Изменено пользователем Pascha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
HappyUser    0

Огромное спасибо за такой развернутый ответ!

Реально прояснилось многое!

Bootstrap полюбому надо мне изучить, это я понял. Мощная штука судя по описанию.

как я не догадался <?php echo $telephone; ?>  в tpl сделать сам не пойму это круто

проблема с кодировкой отпадает когда вставляется php переменная, а телефон забивается в админке!

 

единственное что не понял это что такое

 

потому используем в контроллер
$data['telephone'] = $this->config->get('config_telephone');

 

контроллер это файл из Bootstrap или что то другое?  :oops:

 

Еще раз спасибо! Очень помогли! Благодарю! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Pascha    670

контроллеры и tpl
 

контроллер это файл из Bootstrap или что то другое?

к каждому tpl ( папка catalog/view) - отображение на фронтеде, соответствует контроллер php, он находится в папке catalog/controller (есть еще model - но туда лезть только в том случае, когда станет понятна структура и понятен принцип работы)
т.е. как правило для 

catalog/view/theme/default/template/common/header.tpl

 соответствует 


catalog/controller/common/header.php

и т.д.
то есть при вводе каких либо переменных правятся как минимум 2 этих файла

пример
если в тпл у нас 
http://joxi.ru/brR831OtDMkK21
то в контроллере 
http://joxi.ru/Dr8nGXeC9jYz26

Изменено пользователем Pascha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Pascha    670

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

catalog/language

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

catalog/language/russian/common/header.php (русский язык)

следующего вида

$_['text_telephone']         = 'Телефон:';

(естественно для корректной работы прописывать следует во всех языковых файлах, то есть например в 

catalog/language/english/common/header.php (английский язык)

следующего вида

$_['text_telephone']         = 'Сontact telephone:';

теперь объявим текстовую переменную в соответствующем контроллере

$data['text_telephone'] = $this->language->get('text_telephone');

и выведем на фронтед в тпл

<?php echo $text_telephone; ?>

к примеру для телефона получаем:

<?php echo $text_telephone; ?><?php echo $telephone; ?>

тем самым пользователь будет видеть на сайте
если выбран русский язык на сайте: 

Телефон: 123456789

 

если выбран английский язык на сайте

Сontact telephone: 123456789

 

как видите, несложные правки довольно просты )))

Изменено пользователем Pascha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
HappyUser    0

Спасибо большое! теперь все понятно на 100%, думаю вопрос закрыт )

Второе сообщение вообще все объясняет )

теперь без проблем можно все исправить! еще раз спасибо! сейчас найду где плюсануть рейтинг )))))

Изменено пользователем HappyUser

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shoputils    240

Ушло в FAQ

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От vecheslav
      С OpenCart знаком пару дней)), есть опыт в Wordpress
      У меня OpenCar 2.3
      Стоит тема из коробки пытаюсь внести в неё правки
      Пробовал менять код в файле /catalog/view/theme/default/template/common/header.tpl
      Ничего не меняется(((, может где-то что-то кешируется?
      или...
       
       
    • От Ramis05rus
      Здравствуйте!
      Имеется магазин на OpenCart 2.0.1.1, необходимо в header.tpl задать проверку, находимся мы на странице товара или же какой-то другой.
      <?php if (<проверка, товар ли мы показываем или нет>){ оператор; }else{ оператор 2; }; ?> Как можно провести такую проверку? Используется ЧПУ, так что из url парсить не удастся. Может, можно через тип используемого шаблона? Для товаров используется product.tpl, в нём и вызывается header.tpl
    • От Dimal88
      Доброе время суток!
       
      Ребята подскажите пожалуйста как вывести значение поля в header.tpl из карточки товара?
      Есть поле sellunit в админке забивается, сохраняется, и выводится. В product.tpl выводится хорошо. А в header.tpl выдаёт ошибку  Notice: Undefined variable: sellunit in C:\OPSERV\domains\opencart.loc\catalog\view\theme\default\template\common\header.tpl on line 44 ...
       
      Где нужно определить эту переменную чтобы если открыта карточка товара то поле этого товара выводилось в header?
       
      Шаблон дефолтный, opencart 2.0.1.1 чистый. Поставил для знакомства с системой.
    • От Delight
      Здравствуйте! Проблема такая: редактирую файл header.tpl на денвере и не происходит никаких изменений. С другими файлами, например footer, все нормально, все правится. Возможно звучит как бред. Последний раз обращался к локалке неделю назад, все было нормально.
      Удаляю всю информацию в файле, все равно сайт работает. Прошу помочь разобраться, спасибо!
    • От maikery
      Народ нужна помощь разобраться в проблеме: есть наброски магазина на localhost. 
      Пытаюсь что-нибудь поменять в содержимом header.tpl (catalog\view\theme\default\template\common), результата никакого! Удаляю все содержимое - ничего. Переименовываю файл header.tpl - ругается!
      Причем все нормально редактировалось..
      Что может быть? Перезагрузка помпа/сервера ничего не дает
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу