Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Иконки в header.tpl


Recommended Posts

Уважаемые, доброго времени суток!

Перевел сайт компании с устаревшей по всем статьям престы на ocStore. В целом очень нравится движок, но есть вопросы.

За основу был взят дефолтный шаблон, в котором я изменил цвета и перелопатил файлы tpl для большего индивидуализма. В том числе из файла header.tpl было убрано все, кроме телефона компании. Возможно, в будущем мы вернем возможность регистрации покупателя и оформление покупки непосредственно на сайте, но на данный момент компания к этому не готова. Кучу освободившегося места решил занять ссылками на страницу с прайс-листом и товарами со скидкой. Вывел простенько, кусочек кода прилагаю:

 

Скрытый текст

<nav id="top">
<div class="container">
<?php echo $currency; ?>
<?php echo $language; ?>
<div id="top-links" class="nav pull-right">
<ul class="list-inline">
<li><a href="http://www.artcomspb.com/price"> <span class="hidden-xs hidden-sm hidden-md"><b><?php echo 'Цены'; ?></b></span></li>
<li><a href="http://www.artcomspb.com/specials/"> <span class="hidden-xs hidden-sm hidden-md"><b><?php echo 'Акции'; ?></b></span></li>
<li><a href="<?php echo $contact; ?>"><i class="fa fa-phone"></i></a> <span class="hidden-xs hidden-sm hidden-md"><b><?php echo $telephone; ?></b></span></li>
</div>
</div>
</nav>

 

В результате в шапке имеем вот то, что на картинке.

В общем, смотрится прилично, но есть пара нюансов. Во-первых, без картинки добавленные ссылки выбиваются из общего стиля. А, самое главное, при просмотре сайта с планшета текст ссылок пропадает напрочь, остается только иконка телефона со ссылкой на страницу обратной связи. То есть, на планшете пользователю придется крутить страницу сайта до футера, чтоба увидеть ссылки на прайс. Некузяво. Конечно, можно выпендриться и убрать из кода hidden. Но как-то неизящно.

Отседова вопрос: как бы присобачить картинки? В php я не силен, только интуитивно, по образу и подобию могу что-то допилить.

 

artcomspb_header.jpg

Змінено користувачем artcomspb
Надіслати
Поділитися на інших сайтах


41 минуту назад, artcomspb сказал:

как бы присобачить картинки? В php я не силен, только интуитивно, по образу и подобию могу что-то допилить.

1. php тут не при чём! У вас вопрос вёрстки.

2. Какие картинки? Если речь идёт об иконках, то и делали бы "по образу и подобию": видите, как выводится иконка телефона

<i class="fa fa-phone"></i>

Добавляете такой же тег в другие ссылки, а дальше идёте в доки Font Awesome http://fontawesome.io/icons/  и смотрите там, какие классы добавить в этот тег, чтоб получить нужную вам иконку.

 

P.S. Если уж хардкодите ссылки в шаблоне, то хотя бы используйте относительные пути.

 

 

41 минуту назад, artcomspb сказал:

Перевел сайт компании с устаревшей по всем статьям престы на ocStore.

 

А можно подробнее по пунктам, в чём именно ПрестаШоп внезапно устарел?

Змінено користувачем Dotrox
Надіслати
Поділитися на інших сайтах


4 часа назад, Dotrox сказал:

P.S. Если уж хардкодите ссылки в шаблоне, то хотя бы используйте относительные пути.

Я же сказал, что в php не силен. С иконками Font Awesome разобрался, а в относительных путях заблудился.

Надіслати
Поділитися на інших сайтах


12 часов назад, artcomspb сказал:

Я же сказал, что в php не силен. С иконками Font Awesome разобрался, а в относительных путях заблудился.

И опять же, php тут абсолютно не при чём, хватит его везде приплетать!

Чтоб вместо "http://www.artcomspb.com/price" написать "/price" - php знать не нужно абсолютно.

 

Я же не говорил, что так вообще делать не надо и правильно формировать ссылку в контроллере через $this->url->link() и затем передавать в шаблон в массиве $data и выводить переменной (как раз потому, что вы сразу задекларировали, что ваших знаний php на это не хватит). И я ничего не говорил про то, что текст в шаблоне тоже вписывать неправильно, потому что, опять же, тут бы вам уже понадобился php.

Но для относительных ссылок php не нужен, а смысл они имеют довольно практический: если вы захотите перейти на https или избавиться от www, а то и домен вдруг сменить - во всех случаях относительные ссылки можно будет не трогать, а такие, как сейчас, придётся переписывать.

 

 

Кстати, любопытно, как с такими знаниями php (когда вы даже не понимаете, что вообще связано хоть как-то с php, а что - нет) вы можете оценивать устарел ПрестаШоп или нет? Я уже молчу про то, что для таких оценок мало просто знать php, нужно ещё ориентироваться в современных паттернах программирования и иметь хоть какое-то представление об архитектуре и коде других движков (а очень желательно и фреймворков).

Змінено користувачем Dotrox
Надіслати
Поділитися на інших сайтах


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

И опять же, php тут абсолютно не при чём, хватит его везде приплетать!

Чтоб вместо "http://www.artcomspb.com/price" написать "/price" - php знать не нужно абсолютно.

 

Я же не говорил, что так вообще делать не надо и правильно формировать ссылку в контроллере через $this->url->link() и затем передавать в шаблон в массиве $data и выводить переменной (как раз потому, что вы сразу задекларировали, что ваших знаний php на это не хватит).

А я как раз это и хочу сделать. Во-первых, потому что через массив $data выводится не относительный, а абсолютный путь, это легко увидеть на сайте, открыв код страницы. Во-вторых, я сказал, что моих знаний не хватает, но нигде не говорил, что не готов учиться.

В-третьих: заканчивайте оффтоп.

Надіслати
Поділитися на інших сайтах


6 часов назад, artcomspb сказал:

Во-первых, потому что через массив $data выводится не относительный, а абсолютный путь

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

Когда вы хардкодите ссылку в шаблон ничего автоматически меняться не будет.

Но если вы умеете выводить ссылки из контроллера, то зачем тогда вообще этот гавнокод с ссылками захардкоденными в шаблоне (и такими же текстами)?

Надіслати
Поділитися на інших сайтах


27 минут назад, Dotrox сказал:

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

Когда вы хардкодите ссылку в шаблон ничего автоматически меняться не будет.

Но если вы умеете выводить ссылки из контроллера, то зачем тогда вообще этот гавнокод с ссылками захардкоденными в шаблоне (и такими же текстами)?

Вы невнимательны: я нигде не сказал, что умею выводить ссылки из контроллера. Хочу научиться - это да. Как и откуда эти ссылки формируются уже понял. Но слепить "по образу и подобию" пока что не получается, поэтому "говнокод" с ссылками и текстом.

Надіслати
Поділитися на інших сайтах


29 минут назад, artcomspb сказал:

Как и откуда эти ссылки формируются уже понял. Но слепить "по образу и подобию" пока что не получается

 

Это странно. Если уже поняли, то дальше всё должно быть очевидно.

Все ключи из массива $data в контроллере превращаются в переменные в соответствующем шаблоне. То есть, $data['my_link'] превратится в переменную $my_link в шаблоне. И так можно передать что угодно.

Ну, а ссылки формируются через $this->url->link(). В первом параметре роут (путь к контроллеру), дальше параметры для ссылки (например, id товара, статьи и т.д.) и последний параметр - флаг указывающий должна ли ссылка использовать https (по умолчанию, если флаг не установлен ссылка будет без https даже если в админке включено использование SSL).

 

Например, для ссылки на акции:

$data['special'] = $this->url->link('product/special');

А в шаблоне в href просто:

<?= $special; ?>

 

Тексты выводятся так же, но значение получается через $this->language->get('text_name'), где text_name - название ключа в языковом файле.

Надіслати
Поділитися на інших сайтах


Я по этому сценарию и двигался, но где-то что-то упустил, очевидно: у меня ссылка упорно формировалась на главную страницу. Завтра попробую по новой поковыряться в локальной копии сайта (не на хостинге же экспериментировать).

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.