Помощь Как вывести скидки от количества в категории

romzes6961

Гуру форума
Регистрация
6 Дек 2014
Сообщения
141
Реакции
85
Здравствуйте, меня интересует как реализовать такое
vqmod_qty_discount_category.png

нашел статью
Скрытое содержимое доступно для зарегистрированных пользователей!

все делаю как написано, но ничего не меняется, шаблон не родной, версия опенкарт 1.5.5.1.2 может кто подскажет как это реализовать? или может в статье ошибка?!
 
Ну так вы делаете это в своём шаблоне то?? Или в дефолтном изменения вносите и ждете их в активном?

Тут стандартные контроллеры скидок, ничего не дописано лишнего, элементарно.

У опенкарт такой версии нет.

В товаре скидка выводится??
 
В товаре скидка выводиться, версию опенкарта посмотрель внизу в админпанели, изменения делал в дефолтном и в загруженном шаблоне
Вот ссылка на товар на котором добавил скидку может поможет
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Каталог-Товары-Скидка нет?
 
версию опенкарта посмотрель внизу в админпанели
Забавно:)
все делаю как написано, но ничего не меняется
и не поменяется. Внизу файла category.tpl есть замечательный скрипт

Код:
<script type="text/javascript"><!--
function display(view) {
    if (view == 'list') {
        $('.product-grid').attr('class', 'product-list');
      
        $('.product-list > div').each(function(index, element) {
            html  = '<div class="right">';
            html += '  <div class="cart">' + $(element).find('.cart').html() + '</div>';
            html += '  <div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
            html += '  <div class="compare">' + $(element).find('.compare').html() + '</div>';
            html += '</div>';          
          
            html += '<div class="left">';
          
            var image = $(element).find('.image').html();
          
            if (image != null) {
                html += '<div class="image">' + image + '</div>';
            }
          
            var price = $(element).find('.price').html();
          
            if (price != null) {
                html += '<div class="price">' + price  + '</div>';
            }
                  
            html += '  <div class="name">' + $(element).find('.name').html() + '</div>';
            html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
          
            var rating = $(element).find('.rating').html();
          
            if (rating != null) {
                html += '<div class="rating">' + rating + '</div>';
            }
              
            html += '</div>';
                      
            $(element).html(html);
        });      
      
        $('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display(\'grid\');"><?php echo $text_grid; ?></a>');
      
        $.totalStorage('display', 'list');
    } else {
        $('.product-list').attr('class', 'product-grid');
      
        $('.product-grid > div').each(function(index, element) {
            html = '';
          
            var image = $(element).find('.image').html();
          
            if (image != null) {
                html += '<div class="image">' + image + '</div>';
            }
          
            html += '<div class="name">' + $(element).find('.name').html() + '</div>';
            html += '<div class="description">' + $(element).find('.description').html() + '</div>';
          
            var price = $(element).find('.price').html();
          
            if (price != null) {
                html += '<div class="price">' + price  + '</div>';
            }
          
            var rating = $(element).find('.rating').html();
          
            if (rating != null) {
                html += '<div class="rating">' + rating + '</div>';
            }
                      
            html += '<div class="cart">' + $(element).find('.cart').html() + '</div>';
            html += '<div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
            html += '<div class="compare">' + $(element).find('.compare').html() + '</div>';
          
            $(element).html(html);
        });  
                  
        $('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display(\'list\');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');
      
        $.totalStorage('display', 'grid');
    }
}

view = $.totalStorage('display');

if (view) {
    display(view);
} else {
    display('list');
}
//--></script>

который выводит только определенные элементы. Попробуйте его удалить и посмотреть как выводится без него. Если скидки появятся -то в него дописать что-то типа
Код:
html += '  <div class="discount">' + $(element).find('.discount').html() + '</div>';
после
Код:
html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
(при чем 2 раза для вида сетка и для вида список)
 
Забавно:)

и не поменяется. Внизу файла category.tpl есть замечательный скрипт

Код:
<script type="text/javascript"><!--
function display(view) {
    if (view == 'list') {
        $('.product-grid').attr('class', 'product-list');
     
        $('.product-list > div').each(function(index, element) {
            html  = '<div class="right">';
            html += '  <div class="cart">' + $(element).find('.cart').html() + '</div>';
            html += '  <div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
            html += '  <div class="compare">' + $(element).find('.compare').html() + '</div>';
            html += '</div>';         
         
            html += '<div class="left">';
         
            var image = $(element).find('.image').html();
         
            if (image != null) {
                html += '<div class="image">' + image + '</div>';
            }
         
            var price = $(element).find('.price').html();
         
            if (price != null) {
                html += '<div class="price">' + price  + '</div>';
            }
                 
            html += '  <div class="name">' + $(element).find('.name').html() + '</div>';
            html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
         
            var rating = $(element).find('.rating').html();
         
            if (rating != null) {
                html += '<div class="rating">' + rating + '</div>';
            }
             
            html += '</div>';
                     
            $(element).html(html);
        });     
     
        $('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display(\'grid\');"><?php echo $text_grid; ?></a>');
     
        $.totalStorage('display', 'list');
    } else {
        $('.product-list').attr('class', 'product-grid');
     
        $('.product-grid > div').each(function(index, element) {
            html = '';
         
            var image = $(element).find('.image').html();
         
            if (image != null) {
                html += '<div class="image">' + image + '</div>';
            }
         
            html += '<div class="name">' + $(element).find('.name').html() + '</div>';
            html += '<div class="description">' + $(element).find('.description').html() + '</div>';
         
            var price = $(element).find('.price').html();
         
            if (price != null) {
                html += '<div class="price">' + price  + '</div>';
            }
         
            var rating = $(element).find('.rating').html();
         
            if (rating != null) {
                html += '<div class="rating">' + rating + '</div>';
            }
                     
            html += '<div class="cart">' + $(element).find('.cart').html() + '</div>';
            html += '<div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
            html += '<div class="compare">' + $(element).find('.compare').html() + '</div>';
         
            $(element).html(html);
        }); 
                 
        $('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display(\'list\');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');
     
        $.totalStorage('display', 'grid');
    }
}

view = $.totalStorage('display');

if (view) {
    display(view);
} else {
    display('list');
}
//--></script>

который выводит только определенные элементы. Попробуйте его удалить и посмотреть как выводится без него. Если скидки появятся -то в него дописать что-то типа
Код:
html += '  <div class="discount">' + $(element).find('.discount').html() + '</div>';
после
Код:
html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
(при чем 2 раза для вида сетка и для вида список)
Спасибо огромное помогло!вписал только один раз, потому что если вписываешь второй раз то в товарах которых неназначенна скидка появляеться надпись null, тогда еще вопрос в товаре выводиться на русском языке к примеру 3 и более, а в категории на английском 3 or more. Вопрос как этотмомент русифицировать, не судите строго за вопросы только разбераюсь в опенкарте!
 
чтобы не писало нулл попробуйте вместо указаного выше написать
Код:
var discount = $(element).find('.discount').html();
        
            if (discount != null) {
                html += '<div class="discount">' + discount + '</div>';
            }
 
По русификации: в файл catalog\language\russian\product\category.php добавить строчку
Код:
$_['text_discount']     = '%s или более %s';
щас глянул на код... он явно для опенкарта... для нормальной русификации в окстор нужно дописать в файле catalog\controller\product\category.php после
Код:
$this->data['text_limit'] = $this->language->get('text_limit');
добавить
Код:
$this->data['text_discount'] = $this->language->get('text_discount');
и удалить в их "советах" это
Код:
$this->data['text_discount'] = '%s or more %s';
 
Последнее редактирование:
Вопрос снят!Подскажи пожалуйста какой файл отвечает за письмо приходящее клиенту?
 
сам файл catalog\view\theme\default\template\mail\order.tpl соответственно текст от него в файле catalog\language\russian\mail\order.php
 
Назад
Сверху