[Помогите] Счетчик закладок и сравнений товаров

Тема в разделе "OpenCart", создана пользователем CrazYViruS, 20 май 2014.

  1. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Доброго времени всем !
    Возникла проблема на шаблоне Oxy а именно, хочу перенести кнопки: закладки, и сравнение со счетчиком в header.
    Перенес все, вместе с кодом контроллера но есть небольшая проблемка ...
    Количество товаров в сравнениях или в закладках обновляется только после обновления страницы =\
    А вот на шаблоне категорий там реализована эта кнопка в category.tpl все отлично работает ...

    Вот код .tpl
    PHP:
    <a href="<?php echo $wishlist?>"><?php echo $text_wishlist?></a>
    Код .php контроллера что я переносил с category.php
    PHP:
    $this->data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));

    $this->data['compare'] = $this->url->link('product/compare');
    Походу я чтото недоперенес в контроллер ... Помогите пожалуйста
    --- Добавлено, 20 май 2014 ---
    блин тупанул надо было id присвоить *-total т.е <a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a>
    Но теперь новая проблема оно конфликтует с category.tpl и header.tpl т.е когда находишься в категории добавляешь товар в сравнение то в header счетчик обновляется а в category нет =\
     
    Последнее редактирование: 20 май 2014
    odinochka нравится это.
  2. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    59
    Теперь уже надо в скрипты лезть, чтобы и там и там обновлял.
    Я же правильно понял - обновляется аяксом, без обновления страниц?
     
    CrazYViruS нравится это.
  3. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    да
     
    odinochka нравится это.
  4. NinoZombie

    NinoZombie

    Регистрация:
    27 окт 2013
    Сообщения:
    223
    Симпатии:
    59
    Чтобы хоть немного конкретнее Вам подсказать, нужно увидеть ссылку на сайт или код скриптов.
     
    CrazYViruS нравится это.
  5. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    PHP:
    function addToWishList(product_id) {
        $.
    ajax({
            
    url'index.php?route=account/wishlist/add',
            
    type'post',
            
    data'product_id=' product_id,
            
    dataType'json',
            
    success: function(json) {
                $(
    '.success, .warning, .attention, .information').remove();
                           
                if (
    json['success']) {
                    $(
    '#notification').html('<div class="success" style="display: none;">' json['success'] + '<img src="catalog/view/theme/oxy/image/close.png" alt="" class="close" /></div>');
                   
                    $(
    '.success').fadeIn('slow');
                   
                    
    setTimeout(function() {
                        $(
    '.success').delay(500).fadeOut(1000);
                    }, 
    7000);
                   
                    $(
    '#wishlist-total').html(json['total']);

                }   
            }
        });
    }

    function 
    addToCompare(product_id) {
        $.
    ajax({
            
    url'index.php?route=product/compare/add',
            
    type'post',
            
    data'product_id=' product_id,
            
    dataType'json',
            
    success: function(json) {
                $(
    '.success, .warning, .attention, .information').remove();
                           
                if (
    json['success']) {
                    $(
    '#notification').html('<div class="success" style="display: none;">' json['success'] + '<img src="catalog/view/theme/oxy/image/close.png" alt="" class="close" /></div>');
                   
                    $(
    '.success').fadeIn('slow');
                   
                    
    setTimeout(function() {
                        $(
    '.success').delay(500).fadeOut(1000);
                    }, 
    7000);
                   
                    $(
    '#compare-total').html(json['total']);

                }   
            }
        });
    }
    вот
    --- Добавлено, 20 май 2014 ---
    Исправил просто добавив новый ID в аяксы
    PHP:
    $('#compare-total').html(json['total']);
    $(
    '#compare-total-category').html(json['total']);
    и соотвественно в .tpl id=compare-total-category

    Всем Спасибо !
     
    Последнее редактирование: 20 май 2014
    odinochka нравится это.