Автор Тема: Аякс перезагрузка данных в корзине  (Прочитано 1326 раз)

29 Апреля 2012, 08:40:49
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, хорошим людям!
У меня возникла интересная проблема, которую я бы хотел по скорее решить, видимо без Вас мне это "по скорее" будет сложно достигнуть, проблема в следующем:
На сайте http://pol-art.ru, при переходе в корзину после добавления товара, в столбце "Треб. кол-во (м2)" необходимо ввести цифры, система непосредственно пересчитывает в деньги и в "Фактич. кол-во (м2)", а именно проблема заключается, что данные пересчитывает верно, но не нравится, что в "итого" пересчитывается без перезагрузки страницы, а "Фактич. кол-во (м2)", только с перезагрузкой. Есть подозрения на файл, в котором я реализовывал формулу для корректного пересчета, как мне необходимо, он находится в classes/cart.php, а именно

$row['total_wt'] = ($row['price_wt'] * $row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);

$row['total_wt_metr'] = ($row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);

Где total_wt_metr - Фактич. кол-во (м2)

Спасите пожалуйста!
30 Апреля 2012, 09:57:56
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102467
  • Репутация: +34217/-0
    • Просмотр профиля
Для перерасчета без перезагрузки вносите изменения не только в php файлы, а в файлы js и tpl :
Например,
/themes/prestashop/js/cart-summary.js
/themes/prestashop/js/order-opc.js
01 Мая 2012, 05:50:46
Ответ #2
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для перерасчета без перезагрузки вносите изменения не только в php файлы, а в файлы js и tpl :
Например,
/themes/prestashop/js/cart-summary.js
/themes/prestashop/js/order-opc.js

Виктор Демидов, закончи мысль, пожалуйста!
01 Мая 2012, 10:03:00
Ответ #3
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22126
  • Репутация: +17110/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Это же просто,
Цитировать
"итого" пересчитывается без перезагрузки страницы
Функция расчета в js
Цитировать
"Фактич. кол-во (м2)", только с перезагрузкой.
Функция расчета в php

Вы свой код добавьте еще и в javascript,
$row['total_wt'] = ($row['price_wt'] * $row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);
$row['total_wt_metr'] = ($row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);

Не забудьте данные обмена между js/php. Как пример можно взять blockcart-json.tpl.
Только для заказа нужно будет использовать order.php
Как делать можно посмотреть на примере /modules/blockcart/...
В блоке есть пример изменений ajax/php.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
01 Мая 2012, 17:56:55
Ответ #4
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы свой код добавьте еще и в javascript,
$row['total_wt'] = ($row['price_wt'] * $row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);
$row['total_wt_metr'] = ($row['weight']) * ceil((int)($row['cart_quantity']) / $row['weight']);

Не забудьте данные обмена между js/php. Как пример можно взять blockcart-json.tpl.
Только для заказа нужно будет использовать order.php
Как делать можно посмотреть на примере /modules/blockcart/...
В блоке есть пример изменений ajax/php.

Я не совсем понимаю, как это сделать, я не программер, можно объяснить как для эникейщика  :)
04 Мая 2012, 10:46:31
Ответ #5
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102467
  • Репутация: +34217/-0
    • Просмотр профиля
Если нет знаний в этой области, то лучше обратитесь к тому, кто знает PHP+Ajax.