Вместо "Товаров (0) 0.00 руб. " -> нет товаров [ 0 ]

Тема в разделе "Общие вопросы", создана пользователем tart, 24 янв 2016.

  1. tart

    tart Новичок

    Сообщения:
    12
    Симпатии:
    2
    Здравствуйте!
    Имею такую картину когда в корзине есть товар: 1 555.00 руб [ 5 ]
    Когда товаров нет в корзине: 0.00 руб [ 0 ]
    Нужно сделать следующее (когда в корзине нет товаров): нет товаров [ 0 ]

    Т.е. "0.00 руб." заменить на "нет товаров". Сайт использует и другие валюты, желательно решение с поддержкой мультивалютности.

    Версия 2.1.0.2

    Спасибо!
     
    Последнее редактирование: 25 янв 2016
  2. Vlad

    Vlad Эксперт

    Сообщения:
    3.870
    Симпатии:
    936
    Лучше конечно, если напишите решение тут. Никто не любит ссылки на другие ресурсы...
     
  3. tart

    tart Новичок

    Сообщения:
    12
    Симпатии:
    2
    Разумеется.

    Решение мультиязычное:
    catalog/view/theme/default/template/common/cart.tpl
    PHP:
    <?php if ($products) { ?>
    <?php 
    echo $text_items?>
    <?php 
    } else { ?>
    <b><?php echo $text_noitems?></b>
    <?php ?>
    catalog/controller/common/cart.php

    Найти
    PHP:
    $data['text_empty'] = $this->language->get('text_empty');
    Добавить ниже
    PHP:
    $data['text_noitems'] = $this->language->get('text_noitems');
    В языковых файлах catalog/language/russian/common/cart.php

    Добавить
    PHP:
    $_['text_noitems']   = 'Ничего не куплено :(';

    Источник: идею предложил пользователь Pascha с другого форума
     
    Последнее редактирование модератором: 25 янв 2016
    RoS нравится это.
  4. Vlad

    Vlad Эксперт

    Сообщения:
    3.870
    Симпатии:
    936
    ну лучше делать так

    в файле \catalog\controller\common\cart.php

    находим
    PHP:
    $data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
            
    и меняем на

    PHP:
            if ($this->cart->countProducts()) {
                
    $data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
            } else {
                
    $data['text_items'] = $this->language->get('text_empty');
            }

    Для своего текста

    В файле catalog/language/russian/common/cart.php

    Добавим
    PHP:
    $_['text_noitems'] = 'Ничего не куплено';

    а последнюю строку первой части кода, заменим на
    PHP:
    $data['text_items'] = $this->language->get('text_noitems');
     
    Последнее редактирование: 25 янв 2016
    RoS и tart нравится это.
  5. tart

    tart Новичок

    Сообщения:
    12
    Симпатии:
    2
    Согласен с Вами, но у меня вывод количества отдельно реализован, о чем я не написал в вопросе :)

    И да, мне нужно было сделать произвольный текс.
    Нет товаров в шапке, Ваша корзина пуста в выпадающем окне корзины.
     
  6. Vlad

    Vlad Эксперт

    Сообщения:
    3.870
    Симпатии:
    936
    ну с произвольным не проблема, как вы понимаете... в языковый файл добавить строку.

    это не совсем понятно, т.е количество то что в квадратных скобках?? Текс ведь дописать не проблема.
     
  7. tart

    tart Новичок

    Сообщения:
    12
    Симпатии:
    2
    В принципе, не проблема)

    Да, верно!
     
  8. Vlad

    Vlad Эксперт

    Сообщения:
    3.870
    Симпатии:
    936
    в общем подправил инструкцию.
     
  9. tart

    tart Новичок

    Сообщения:
    12
    Симпатии:
    2
    Спасибо, будет полезно как для меня так и для других.
     
  10. Vic-tor

    Vic-tor Новичок

    Сообщения:
    2
    Симпатии:
    0
    А как не выводить цену в карточке товара, если она 0.00, так как есть несколько вариантов его стоимости, которые я вывожу в опциях.
     
  11. Vlad

    Vlad Эксперт

    Сообщения:
    3.870
    Симпатии:
    936
    а как это относится к данной теме? Тут про корзину. Вам видимо туда http://forum.opencart-russia.ru/threads/net-ceny.487/