Автор Тема: Произвольная цена в корзине  (Прочитано 561 раз)

27 Май 2016, 02:21:35
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день.
Как бы реализовать чтобы при добавлении товара в корзину цена бралась из переменной <input hidden... или javascript со страницы product page
Дело в том что реально такого товара нет, каждый раз его цена пересчитывается по сложным формулам из значений дропдаунов. Отображение цены #our_price_display работает, но вот при добавлении товара в корзину - берется оригинальная цена из базы  :-[
Знаю что это возможно, пример - http://module-presta.com/custom-price.html
Этот платный модуль не устраивает потому что нужна не произвольная, а посчитаная цена.
 Долго искал, но безрезультатно  :-[ выручайте
Спасибо заранее!
27 Май 2016, 09:04:29
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Цена должна где-то хранится. Переделайте класс товар, добавьте новое поле для этой цены, потом нужно будет переопределить контроллер корзины, заменить переменную цены на созданное поле. Как добавить новое поле и переопределить контроллер есть на форуме. Вам остается только дописать функцию расчета цены, добавить в класс Tools или переопределить его.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
27 Май 2016, 10:34:48
Ответ #2
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ваш ответ.
заменить переменную цены на созданное поле.
Может подскажете что за переменная ?
27 Май 2016, 10:39:20
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
27 Май 2016, 10:44:09
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
У вас больше похоже на спец. цену. Не пробывали создавать правила ценообразования в админке? Там можно разные условия подставлять.
27 Май 2016, 12:24:17
Ответ #5
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет, это не подходит. Слишком сложные условия. Цена уже считается правильно javascript'ом на странице продукта. Мне бы просто забрать эту перемнную в крозину по примеру того платного модуля. Переопределение Tools значит что нужно будет цену считать еще раз :(
Внимательно читал http://prestashop-forum.ru/index.php?topic=5188.15 и http://prestashop-forum.ru/index.php/topic,5151.0.html
но где-то видимо туплю  :-\
Если бы кто-то ткнул примером, был бы очень признателен!
27 Май 2016, 16:50:50
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Если цена уже есть, то делай как в этой теме - http://prestashop-forum.ru/index.php/topic,5151.0.html
В теме в  product.tpl  в form id="buy_block" поле
<input  type="hidden" id="mypice" name="mypice"  value="" >В своем javascript добавить подстановку цены в mypice и все.
27 Май 2016, 19:08:32
Ответ #7
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проблема в том что речь идет именно о цене, а не о дополнительном столбце в таблице. Пробовал определять цену в оверрайде Product.php:

$testprice=Tools::getValue('belvg_custom_price');

$price = $testprice;
        //$price += $nbTimesBoughtThisProduct * 10;
    }
//--
        self::$_prices[$cache_id] = $price;
        return self::$_prices[$cache_id];
    }
}
тогда в pop-up цена добавлается правлильно, но только один раз. При попытке изменить цену и добавить еще раз - пересчитывается уже по новой цене. А при открытии корзины - все по нулям, цен нет :(
27 Май 2016, 20:29:21
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
belvg_custom_price
У вас модуль спец цен от belvg? Тогда в нем нужно добавить переопределение цены.