VladislavGridasov

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

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

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

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


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

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

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

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


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

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

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

 

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

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

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


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

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

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


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

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

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

Первое - в контроллере (/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. Это я сделал на странице категории и поиска, до карточки товара еще очередь не дошла, но там все то же самое.

 

 

 

 

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'],

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


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

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

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

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


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

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

 

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

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


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

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

$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

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


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

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

$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 пользователей онлайн

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