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

Изменение иконки в зависимости от времени суток


ARTEMN5

Recommended Posts

У font awesome есть иконки с зарядом батарейки

<i class="fa fa-battery-empty" aria-hidden="true"></i>
<i class="fa fa-battery-full" aria-hidden="true"></i>

и т.д.  Я хочу использовать их чтобы показывать сколько осталось до конца акции. С утра иконка полной батарейки, в конце дня почти пустая. Сложно будет реализовать подобное? 

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

Не сложно.

Вот пример и на его основе делайте

<?php

$morning = "Доброе утро!";
$day = "Добрый день!";
$evening = "Добрый вечер!";
$night = "Доброй ночи!";

$minyt = date("i");
$chasov = date("H");

if($chasov >= 04) {$hello = $morning;}
if($chasov >= 10) {$hello = $day;}
if($chasov >= 16) {$hello = $evening;}
if($chasov >= 22 or $chasov < 04) {$hello = $night;}

echo "Время: $chasov:$minyt, $hello";

?> 

 

  • +1 2
Надіслати
Поділитися на інших сайтах


<file path="catalog/controller/extension/module/featured.php">
	  <operation>
<search><![CDATA[if ($data['products']) {]]></search> 
<add position="before"><![CDATA[$morning = "<i class="fa fa-battery-full " ></i>";
$day = "<i class="fa fa-battery-three-quarters" ></i>";
$evening = "<i class="fa fa-battery-half " ></i>";
$night = "<i class="fa fa-battery-quarter" ></i>";
$chasov = date("H");
if($chasov >= 04) {$hello = $morning;}
if($chasov >= 10) {$hello = $day;}
if($chasov >= 16) {$hello = $evening;}
if($chasov >= 22 or $chasov < 04) {$hello = $night;}]]></add>
</operation>
	</file>
      <file path="catalog/view/theme/unishop/template/extension/module/featured.tpl">
	  <operation>
<search><![CDATA[<h3 class="heading"><span><?php echo $heading_title; ?></span></h3>]]></search> 
<add position="replace"><![CDATA[<h3 style="text-align:center;">Товар дня <?php echo $hello;?></h3>]]></add>
</operation>
        </file>

Сделал, пишет при выводе Notice: Undefined variable: hello in public_html/system/storage/modification/catalog/view/theme/unishop/template/extension/module/featured.tpl on line 2

Что я упустил? Или может не в то место вставил в контроллер?

 

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

на Jquery думаю будет проще:

<script type="text/javascript"><!--
    $(document).ready(function() {
        var date = new Date().getHours();
        if ( date >= 8 && date <= 12) {
            $('.fa-battery-empty').toggleClass('fa-battery-full', true);
        }
    });
    //--></script>

 

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

Решил через скрипт, вот что сделал, вроде работает, не знаю насколько чистый код

$(document).ready(function() {
        var date = new Date().getHours();
        if ( date >= 0 && date <= 10) {
        	document.getElementsByClassName("fa fa-battery-empty")[0].setAttribute("class", "fa fa-battery-full");
        } else if ( date >= 11 && date <= 16){
       	document.getElementsByClassName("fa fa-battery-empty")[0].setAttribute("class", "fa fa-battery-three-quarters");
       } else if( date >= 17 && date <= 19){
        	document.getElementsByClassName("fa fa-battery-empty")[0].setAttribute("class", "fa fa-battery-half");
        } else if( date >= 20&& date <= 23){
        	document.getElementsByClassName("fa fa-battery-empty")[0].setAttribute("class", "fa fa-battery-quarter");
        }
    });

 

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

понятно что quntity, но откуда его взять, как его вызвать в js, куда вставить скрипт чтобы он например отображался для товаров в категории?

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

5 минут назад, ARTEMN5 сказал:

понятно что quntity, но откуда его взять, как его вызвать в js, куда вставить скрипт чтобы он например отображался для товаров в категории?

Это вряд ли для песочницы вопрос :)

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

1 час назад, ARTEMN5 сказал:

понятно что quntity, но откуда его взять, как его вызвать в js, куда вставить скрипт чтобы он например отображался для товаров в категории?

 

в catalog/controller/product/category.php после

$data['products'][] = array(

добавить 

'quantity' => $result['quantity'],

в catalog/view/theme/default/template/product/category.tpl после (в любом нужном вам месте цикла foreach)

<?php foreach ($products as $product) { ?>

добавить, например так

<input class="prdouct-quantity" type="hidden" value="<?php echo $product['quantity']; ?>" data-product-id="<?php echo $product['product_id']; ?>">

все зависит от того, что хотите. В данном случае можно из input выдернуть quantity и product_id.

 

 

 

 

 

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

21 минуту назад, ibond сказал:

 

в catalog/controller/product/category.php после


$data['products'][] = array(

добавить 


'quantity' => $result['quantity'],

в catalog/view/theme/default/template/product/category.tpl после (в любом нужном вам месте цикла foreach)


<?php foreach ($products as $product) { ?>

добавить, например так


<input class="prdouct-quantity" type="hidden" value="<?php echo $product['quantity']; ?>" data-product-id="<?php echo $product['product_id']; ?>">

все зависит от того, что хотите. В данном случае можно из input выдернуть quantity и product_id.

 

 

 

 

 

Спасибо, исчерпывающий ответ! Можно закрывать тему.

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

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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