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

Цвет текста наличия товара для OC 2.x


Recommended Posts

Здравствуйте! Не подскажете, каким образом можно задать стили тексту справа от графы "Доступность" на странице товара? Т.е. чтобы текст "Есть в наличии" был зеленым цветом, а "Нет в наличии" серым?

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


А что сложного то? Открываем product.tpl, находим нужную строку, присваиваем класс, класс описываем в stylesheet.css

Кстати, "нет в наличии" лучше выделить более контрастным цветом, красным, к примеру.

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


А что сложного то? Открываем product.tpl, находим нужную строку, присваиваем класс, класс описываем в stylesheet.css

Кстати, "нет в наличии" лучше выделить более контрастным цветом, красным, к примеру.

 

В product.tpl есть только строка  <li><?php echo $text_stock; ?> <?php echo $stock; ?></li>

Напрямую задать стили, я так понимаю, не получиться. По идее, нужен скрипт, который, в зависимости от содержимого переменной $stock, задавал бы тексту определенный цвет.

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


Буквально позавчера решал эту задачу для превью товаров на странице категорий и поиска. Поделюсь решением, как доберусь до компа, там буквально пару строк добавить надо.

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


В общем, вот как я это делал для страницы категории. Для карточки товара все по аналогии можно сделать.

Вносим правки в три файла.

Первое - в контроллере (/catalog/controller/product/category.php)

 

находим строки


'price'       => $price,
'special'     => $special
'stock'       => $result['quantity'],
'stock_status' => $result['stock_status'],

добавляем

'instock'     => $this->language->get('text_instock'),
'outstock'    => $this->language->get('text_outstock'),

Это мы добавили две переменные из языкового файла.

 

В языковом файле (catalog/language/russian/product/category.php)

 

добавляем две строки 

$_['text_instock']      = 'В наличии';
$_['text_outstock']     = 'Нет в наличии';

В файле шаблона добавляем вывод и условие. (я вывел сразу под названием продукта)

 

<h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>//заголовок продукта
                                <p class="outstock"><?php if ($product['stock'] <= 0) { ?> <?php echo $product['outstock']; } ?></p> #товара нет, выводим "Нет в наличии", оформляем CSS классом .outstock
                                <p class="instock"><?php if ($product['stock'] > 0) { ?> <?php echo $product['instock']; } ?> </p>  #товар есть, выводим "В наличии", оформленном CSS классом .instock

Ну а соответствующие классы оформляем в stylesheet.css. Это я сделал на странице категории и поиска, до карточки товара еще очередь не дошла, но там все то же самое.

 

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


 

В общем, вот как я это делал для страницы категории. Для карточки товара все по аналогии можно сделать.

Вносим правки в три файла.

Первое - в контроллере (/catalog/controller/product/category.php)

 

находим строки


'price'       => $price,
'special'     => $special
'stock'       => $result['quantity'],
'stock_status' => $result['stock_status'],

добавляем

'instock'     => $this->language->get('text_instock'),
'outstock'    => $this->language->get('text_outstock'),

Это мы добавили две переменные из языкового файла.

 

В языковом файле (catalog/language/russian/product/category.php)

 

добавляем две строки 

$_['text_instock']      = 'В наличии';
$_['text_outstock']     = 'Нет в наличии';

В файле шаблона добавляем вывод и условие. (я вывел сразу под названием продукта)

 

<h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>//заголовок продукта
                                <p class="outstock"><?php if ($product['stock'] <= 0) { ?> <?php echo $product['outstock']; } ?></p> #товара нет, выводим "Нет в наличии", оформляем CSS классом .outstock
                                <p class="instock"><?php if ($product['stock'] > 0) { ?> <?php echo $product['instock']; } ?> </p>  #товар есть, выводим "В наличии", оформленном CSS классом .instock

Ну а соответствующие классы оформляем в stylesheet.css. Это я сделал на странице категории и поиска, до карточки товара еще очередь не дошла, но там все то же самое.

 

 

 

 

chamaerops, благодарю! Попробую Ваш метод.

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


 

В общем, вот как я это делал для страницы категории. Для карточки товара все по аналогии можно сделать.

Вносим правки в три файла.

Первое - в контроллере (/catalog/controller/product/category.php)

 

находим строки


'price'       => $price,
'special'     => $special
'stock'       => $result['quantity'],
'stock_status' => $result['stock_status'],

добавляем

'instock'     => $this->language->get('text_instock'),
'outstock'    => $this->language->get('text_outstock'),

Это мы добавили две переменные из языкового файла.

 

В языковом файле (catalog/language/russian/product/category.php)

 

добавляем две строки 

$_['text_instock']      = 'В наличии';
$_['text_outstock']     = 'Нет в наличии';

В файле шаблона добавляем вывод и условие. (я вывел сразу под названием продукта)

 

<h4><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>//заголовок продукта
                                <p class="outstock"><?php if ($product['stock'] <= 0) { ?> <?php echo $product['outstock']; } ?></p> #товара нет, выводим "Нет в наличии", оформляем CSS классом .outstock
                                <p class="instock"><?php if ($product['stock'] > 0) { ?> <?php echo $product['instock']; } ?> </p>  #товар есть, выводим "В наличии", оформленном CSS классом .instock

Ну а соответствующие классы оформляем в stylesheet.css. Это я сделал на странице категории и поиска, до карточки товара еще очередь не дошла, но там все то же самое.

 

 

 

А есть решение для ocstore 2.1.0.2.1? Не нашел в контроллере (/catalog/controller/product/category.php) строки: 'stock'       => $result['quantity'], 'stock_status' => $result['stock_status'],

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


Вопрос все еще актуален. Помогите, пожалуйста.

Пишите в ЛС, попробую помочь

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


Пишите в ЛС, попробую помочь

 

Не могли бы Вы здесь поделиться своими соображениями? Я думаю, не мне одному интересен этот вопрос.

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


в контроллере продукта ищем строку

$data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
и после нее добавляем нужное
$data['instock'] = $this->language->get('text_instock');
$data['outstock'] = $this->language->get('text_outstock');
обратите внимание, что во вьюшке переменная $stock является числом только в том в случае, если включен показ остатков

языковые переменные должны быть добавлены в product

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


в контроллере продукта ищем строку

$data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');

и после нее добавляем нужное

$data['instock'] = $this->language->get('text_instock'),
$data['outstock'] = $this->language->get('text_outstock')

обратите внимание, что во вьюшке переменная $stock является числом только в том в случае, если включен показ остатков

языковые переменные должны быть добавлены в product

 

Спасибо, попробую!

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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