Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Поменять отображение корзины


Recommended Posts

Изменения вам нужно вносить в tpl файл, где необходимо написать условия вывода слов "товара", "товаров" или "товар" после вывода количества.

Надіслати
Поділитися на інших сайтах


В header.tpl? Там менять нечего....

Вот в cart.php надо в этом коде что-то прописать:

// Calculate Totals

$total_data = array();

$total = 0;

$taxes = $this->cart->getTaxes();

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$this->load->model('setting/extension');

$sort_order = array();

$results = $this->model_setting_extension->getExtensions('total');

foreach ($results as $key => $value) {

$sort_order[$key] = $this->config->get($value['code'] . '_sort_order');

}

array_multisort($sort_order, SORT_ASC, $results);

foreach ($results as $result) {

if ($this->config->get($result['code'] . '_status')) {

$this->load->model('total/' . $result['code']);

$this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);

}

}

$sort_order = array();

foreach ($total_data as $key => $value) {

$sort_order[$key] = $value['sort_order'];

}

array_multisort($sort_order, SORT_ASC, $total_data);

}

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

$this->data['totals'] = $total_data;

$this->data['checkout'] = $this->url->link('checkout/simplecheckout', '', 'SSL');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/cart.tpl')) {

$this->template = $this->config->get('config_template') . '/template/common/cart.tpl';

} else {

$this->template = 'default/template/common/cart.tpl';

}

$json['output'] = $this->render();

$this->response->setOutput(json_encode($json));

Можно еще вот как:

Добавить этот код:

<?php

$cart_number = $this->cart->countProducts();

if ($cart_number == 1) {echo "1 товар в корзине";

if ($cart_number == 2) {echo "2 товара в корзине";}

else {echo $cart_number." товаров в корзине";}

echo"<br />";

echo "Total: ".$this->currency->format($this->cart->getTotal());

?>

Но как сделать чтобы значения менялись через java, а не после обновления страницы?

Надіслати
Поділитися на інших сайтах

Всё. Сам разобрался уже.

Делается это так:

1) В catalog/view/theme/default/template/common/header.tpl вставляем div корзины куда Вам нужно с кодом:

<div id="cart_in_header">

<?php

$cart_number = $this->cart->countProducts();

if ($cart_number == 0) {echo $text_items1;}

else if ($cart_number == 1) {echo $text_items2;}

else if ($cart_number == 2) {echo $text_items3;}

else if ($cart_number == 3) {echo $text_items3;}

else if ($cart_number == 4) {echo $text_items3;}

else {echo $text_items4;}

?>

</div>

2) В catalog/controller/common/header.php вставляем после:

$this->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));

следующие строки:

$this->data['text_items1'] = sprintf($this->language->get('text_items1'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$this->data['text_items2'] = sprintf($this->language->get('text_items2'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$this->data['text_items3'] = sprintf($this->language->get('text_items3'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$this->data['text_items4'] = sprintf($this->language->get('text_items4'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

3) В catalog/language/russian/common/header.php добавляем:

$_['text_items1'] = 'В корзине пусто';

$_['text_items2'] = 'В корзине %s товар на сумму %s';

$_['text_items3'] = 'В корзине %s товара на сумму %s';

$_['text_items4'] = 'В корзине %s товаров на сумму %s';

4) В catalog/controller/checkout/cart.php вставляем после:

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

вот это:

$pusto = sprintf($this->language->get('text_items1'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$odintovar = sprintf($this->language->get('text_items2'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$dvatovara = sprintf($this->language->get('text_items3'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$mnogotovarov = sprintf($this->language->get('text_items4'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

$cart_number = $this->cart->countProducts();

if ($cart_number == 0){

$json['summa'] = $pusto;}

else if ($cart_number == 1){

$json['summa'] = $odintovar;}

else if ($cart_number == 2){

$json['summa'] = $dvatovara;}

else if ($cart_number == 3){

$json['summa'] = $dvatovara;}

else if ($cart_number == 4){

$json['summa'] = $dvatovara;}

else{

$json['summa'] = $mnogotovarov;}

5) В catalog/language/russian/checkout/cart.php добавляем:

$_['text_items1'] = 'В корзине пусто';

$_['text_items2'] = 'В корзине %s товар на сумму %s';

$_['text_items3'] = 'В корзине %s товара на сумму %s';

$_['text_items4'] = 'В корзине %s товаров на сумму %s';

6) В catalog/view/javascript/common.js добавляем в двух местах после:

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

вот это:

$('#cart_in_header').html(json['summa']);

  • +1 2
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...
  • 3 weeks later...

Все хорошо, только у меня почему-то "В корзине:" выводится в верхнем левом углу. А что и где прописать в stylesheet, что-бы этот вид был вместо стандартного вида?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.