2015-02-24 2 views
-1

Итак, я довольно новичок в OpenCart. Недавно начал работать над кодом внутри файловой системы Opencart. Моя цель - отобразить div корзины в заголовке для отображения на какой-либо другой части, такой как общий правый или нижний колонтитул. Поэтому, взглянув на header.php и header.tpl, я внес некоторые изменения. На footer.php я wrote-В OpenCart, как мы можем обновлять данные в реальном времени

$data['cart'] = $this->load->controller('common/cart'); 

А на footer.tpl я просто повторил за $ телегу.

Но результат не то, что я искал. Взгляните на некоторые из screenshots-

http://postimg.org/image/7v77iswgz/

http://postimg.org/image/thi05wgfj/

Так что мой вопрос заключается в том, что я должен сделать, чтобы Updation от полной стоимости без обновления страницы. Было бы здорово, если бы вы могли дополнительно предоставить любую ссылку, откуда я могу научиться настраивать opencart с помощью кодов.

+0

Вам необходимо использовать ajax при вызове обычного/телеметрического контроллера. При нажатии кнопки «Добавить в корзину» вам необходимо запустить свою JS-функцию, содержащую этот вызов ajax. –

+0

Вы можете вызвать любую функцию js при нажатии на событие любой кнопки, используя событие ON в jquery. –

ответ

1

Проверьте файл common.js и измените настройки var cart, чтобы добавить данные в ваш нижний колонтитул.

var cart = { 
    'add': function(product_id, quantity) { 
     $.ajax({ 
      url: 'index.php?route=checkout/cart/add', 
      type: 'post', 
      data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), 
      dataType: 'json', 
      beforeSend: function() { 
       $('#cart > button').button('loading'); 
      }, 
      success: function(json) { 
       $('.alert, .text-danger').remove(); 

       $('#cart > button').button('reset'); 

       if (json['redirect']) { 
        location = json['redirect']; 
       } 

       if (json['success']) { 
        $('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>'); 

        $('#cart-total').html(json['total']); 

        $('html, body').animate({ scrollTop: 0 }, 'slow'); 

        $('#cart > ul').load('index.php?route=common/cart/info ul li'); 
       } 
      } 
     }); 
    }, 
    'update': function(key, quantity) { 
     $.ajax({ 
      url: 'index.php?route=checkout/cart/edit', 
      type: 'post', 
      data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), 
      dataType: 'json', 
      beforeSend: function() { 
       $('#cart > button').button('loading'); 
      }, 
      success: function(json) { 
       $('#cart > button').button('reset'); 

       $('#cart-total').html(json['total']); 
//add your footer button here 
       if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { 
        location = 'index.php?route=checkout/cart'; 
       } else { 
        $('#cart > ul').load('index.php?route=common/cart/info ul li'); 
       } 
      } 
     }); 
    }, 
    'remove': function(key) { 
     $.ajax({ 
      url: 'index.php?route=checkout/cart/remove', 
      type: 'post', 
      data: 'key=' + key, 
      dataType: 'json', 
      beforeSend: function() { 
       $('#cart > button').button('loading'); 
      }, 
      success: function(json) { 
       $('#cart > button').button('reset'); 

       $('#cart-total').html(json['total']); 
//Add your footer button here 
       if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { 
        location = 'index.php?route=checkout/cart'; 
       } else { 
        $('#cart > ul').load('index.php?route=common/cart/info ul li'); 
       } 
      } 
     }); 
    } 
} 
+0

Привет, спасибо за ответ, но я все еще спотыкаюсь о добавлении кнопки нижнего колонтитула. Можете ли вы, пожалуйста, направить меня, как синтаксически написать это. – Akansha

+0

Отслеживать вызов ajax продукта в корзину в firebug/инструменте разработчика. Как только это будет сделано, проверьте его ответ в инструменте firebug/developer. Как только вы увидите, что у вас будет полное представление о том, что делать дальше. Также добавьте различные «console.logs» в показанном коде. – shahmanthan9