Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

Подскажите пожалуйста как поменять отображение корзины:

с такого:

post-14391-0-98229300-1329198386_thumb.png

на такое:

post-14391-0-54392200-1329198392_thumb.png post-14391-0-74447300-1329198397_thumb.png post-14391-0-12617300-1329198404_thumb.png

Какие файлы за это отвечают?

Ссылка на комментарий
Поделиться на других сайтах

А чтобы менялось отображение надо менять скрипт в common.js

Что там писать кто-то может подсказать?

Ссылка на комментарий
Поделиться на других сайтах

Изменения вам нужно вносить в 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 недели спустя...

Дичайший респект. Фичу нужно прикрутить к официальной сборке Оstore. Напиши номер мобильного в личку - закину тебе 200 рублей на счёт.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...

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

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.