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

Как изменить цвет и вывод разных текстов в коде


StrikerXP

Recommended Posts

В контроллере есть код 


 $stock = $this->language->get('text_stock') . ' ';
                if ($result['quantity'] <= 0) {
                     $stock .= $result['stock_status'];
                } elseif ($this->config->get('config_stock_display')) {
                    $stock .= (int)$result['quantity'];
                } else {
                  $stock .= $this->language->get('text_instock');
                }

 

Вывод идет через

 

<div class="instock_qty">
                  <?php echo $product['stock']; ?>        // Выводит текст зеленым "В наличие: "
                </div>

 

Как сделать чтобы при наличие товара 0 выводился только текст "Нет в наличие" красным цветом и если больше 0 то "В наличие:  X" зеленым цветом?

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


15 минут назад, StrikerXP сказал:

В контроллере есть код 


 $stock = $this->language->get('text_stock') . ' ';
                if ($result['quantity'] <= 0) {
                     $stock .= $result['stock_status'];
                } elseif ($this->config->get('config_stock_display')) {
                    $stock .= (int)$result['quantity'];
                } else {
                  $stock .= $this->language->get('text_instock');
                }

 

Вывод идет через

 

<div class="instock_qty">
                  <?php echo $product['stock']; ?>        // Выводит текст зеленым "В наличие: "
                </div>

 

Как сделать чтобы при наличие товара 0 выводился только текст "Нет в наличие" красным цветом и если больше 0 то "В наличие:  X" зеленым цветом?

Ровно неделю эта тема подробно разбиралась на форуме и даже с именно таких решением. Попробуйте поиском

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


9 минут назад, Dimasscus сказал:

Ровно неделю эта тема подробно разбиралась на форуме и даже с именно таких решением. Попробуйте поиском

Это та же тема и тот же ТС...

 

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

1 минуту назад, StrikerXP сказал:

Это моя тема, но там был другой код. Вопрос как в этом сделать?

попытаться понять как работает код и как работают условия. там же просто все на самом деле

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


1 минуту назад, Dimasscus сказал:

попытаться понять как работает код и как работают условия. там же просто все на самом деле

Если знать языки программирования, переменные и т.д. - то да :)..но я не програмист

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


Только что, StrikerXP сказал:

Если знать языки программирования, переменные и т.д. - то да :)..но я не програмист

так зачем тогда это все?

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


1 минуту назад, StrikerXP сказал:

Если знать языки программирования, переменные и т.д. - то да :)..но я не програмист

в прошлой теме вам все подробно разжевали и даже сделали для вас модификатор. но вы не только не сделали выводов и не попытались разобраться- вы еще и утверждали что все не правильно:))

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


Со сменой цвета в карточке товара, я разобрался с предыдущей темы, там все нормально. А как вывести разные названия("В наличие: Х" и "нет в наличие") в данном коде я не понимаю

Я уже испробовал разные варианты которые не сработали

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


3 минуты назад, StrikerXP сказал:

Со сменой цвета я разобрался с предыдущей темы, там все нормально. А как вывести разные названия ("В наличие: Х" и "нет в наличие") в даном коде я не понимаю

Статусы склада редактируются в админке. Там есть в наличии, нет в наличии, под заказ и тд.

в самом товаре нужно указать какой статус должен использоваться если товара нет в наличии

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


Только что, Dimasscus сказал:

Статусы склада редактируются в админке. Там есть в наличии, нет в наличии, под заказ и тд

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

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


3 минуты назад, StrikerXP сказал:

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

добавить переменную в контролер и языковую локализацию. перестроить код так чтобы при условии >0 выводило переменную количество. а при <0  текстовую переменную

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


Пробовал таким способом 

 

Контроллер  

 

                $stock = $this->language->get('text_stock') . ' ';
                $nostock = $this->language->get('text_nostock');
                if ($result['quantity'] <= 0) {
                     $nostock;
                } elseif ($this->config->get('config_stock_display')) {
                    $stock .= (int)$result['quantity'];
                } else {
                  $stock .= $this->language->get('text_instock');
                }

Вывод

 

<?php echo ($result['quantity'] <= 0)? '<span class="label label-danger">' . $nostock . '</span>' : '<span color:"green">' . $stock . '</span>'; ?>

 

Не работает. Что я сделал не так?

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


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

Как сделать чтобы при наличие товара 0 выводился только текст "Нет в наличие" красным цветом и если больше 0 то "В наличие:  X" зеленым цветом?

В контроллер 

$data['quantity'] = $product_info['quantity'];

В тпл условие
 

<?php if ($quantity <= 0) { ?><span class="outofstock">Нет в наличии</span><?php } else { ?><span class="instock">В наличии : <?php echo $quantity; ?></span><?php } ?>

 

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

Вопрос решил следующим способом

 

Контроллер

Цитата

                $stock = $this->language->get('text_stock') . ' ';
                $nostock = $this->language->get('text_nostock');
                if ($result['quantity'] <= 0) {
                    $stock = $nostock;
                } elseif ($this->config->get('config_stock_display')) {
                    $stock .= (int)$result['quantity'];
                } else {
                  $stock .= $this->language->get('text_instock');
                }

 

ТПЛ
 

Цитата

<div class="instock_qty">
                  <?php echo $product['stock']; ?>
                </div>

В CSS добавил instock_qty с соответствующими параметрами. Текст $nostock добавил в php и задал соответствующий цветовой класс 

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


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

Вопрос решил следующим способом

 

Контроллер

 

ТПЛ
 

В CSS добавил instock_qty с соответствующими параметрами. Текст $nostock добавил в php и задал соответствующий цветовой класс 

Не ищете легких путей:))

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


1 минуту назад, Dimasscus сказал:

Не ищете легких путей:))

Я перепробовал все способы что были указаны здесь и те что придумал. Но почему то сработал только этот)) Видимо я чего то не понимаю:D

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


Только что, StrikerXP сказал:

Я перепробовал все способы что были указаны здесь и те что придумал. Но почему то сработал только этот)) Видимо я чего то не понимаю:D

Видимо

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


2 минуты назад, Dimasscus сказал:

Не ищете легких путей:))

Ну, формально вынос проверки в контроллер обоснован. Хотя лучше и проще (имхо) было бы для стиля переменную использовать, типа
<div class="<?php echo $product['stock_style']; ?>">
                  <?php echo $product['stock']; ?>

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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