19.06.2016, 17:35
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 32
|
|
ввести переменную и сделать ее вывод.
Доброго времени суток! Не так давно передо мной встала задача реализовать простенькую корзину для сайта. Так как знаний в jQ не много - решил взять готовое решение и окончательно запутался. Путаница заключается в том, что есть список заказов в корзине:
тут не хватает двух полей, а то есть переменных: НДС % и сумма НДС руб. + ко всему в поле всего должно быть еще + сумма ндс. Не могу разобраться, как ввести переменную и сделать вывод, пожалуйста, помогите!
Один момент:
Товары на сайт выводятся переменной:
<script>
var priceList = {
"001" : {"id" : "001", "subid" : {}, "name" : "Имя товара", "subname" : {}, "price" : "100"},
"002" : {"id" : "002", "subid" : {}, "name" : "Имя товара", "subname" : {}, "price" : "200"}
};
</script>
хотелось бы сделать вывод переменной ндс таким образом, чтобы для каждого товара переменная, к примеру nds устанавливалась в данной строке, так же, как и прайс.
Сам скрипт в прикрепленном файле.
Помогите, пожалуйста!
|
|
19.06.2016, 18:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Meattale
|
Товары на сайт выводятся переменной
|
Для корзины, это приемлемо, а вот для вывода товаров на страницах сомнительно, роботы не исполняют скрипт, а значит и содержание такой страницы не индексируется.
|
|
19.06.2016, 18:08
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 32
|
|
Сообщение от laimas
|
Для корзины, это приемлемо, а вот для вывода товаров на страницах сомнительно, роботы не исполняют скрипт, а значит и содержание такой страницы не индексируется.
|
А там индексировать совершенно нечего.
Просто кнопка покупки, которая совершенно не привязана к товару. Все в мануал режиме набивается.
|
|
19.06.2016, 18:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну если так "наплевательски" относиться к содержанию, то дело хозяйское. Но объект с параметрами товаров не сам же на странице появляется, его же сервер отдает, поэтому добавляйте нужное:
"001" : {"id" : "001", "subid" : {}, "name" : "Имя товара", "subname" : {}, "price" : "100", "nds" : 999}
|
|
19.06.2016, 18:28
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 32
|
|
Сообщение от laimas
|
Ну если так "наплевательски" относиться к содержанию, то дело хозяйское. Но объект с параметрами товаров не сам же на странице появляется, его же сервер отдает, поэтому добавляйте нужное:
"001" : {"id" : "001", "subid" : {}, "name" : "Имя товара", "subname" : {}, "price" : "100", "nds" : 999}
|
Сам каталог прописан статически в html,а скрипт добавляет только форму корзины + расчет (математику).
Добавить нужное в строку вывода - это хорошо, а как эту переменную вписать в сам скрипт + привязать на него расчет - мне не совсем понятно. Сам скрипт прикреплен.
Схема такова: Берем 'nds',например, 18%, переводим его в сумму от цены и ее прибавляем к конечной, как завязать именно этот расчет в скрипте - я увы не знаю
|
|
19.06.2016, 18:46
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Если это статические файлы, а НДС для отображения цены с НДС, то что вам мешает сразу прописать уже рассчитанное в объект? Или проблема узнать сколько будет 18% от цены?
А получить точно также как и получаем все остальное. В скрипте прилагаемом вообще описана только работа с корзиной, данные которой хранятся в локальном хранилище, Каким образом они туда попадают вопрос к вам. То есть чтобы их поместить в описанный выше объект (это похоже и есть формат хранения корзины), сервер эти данные должен передать клиенту (НДС).
А получать, смотрите функцию renderBasketTable - local.name, local.price и т.д., будет в хранилище nds, значит local.nds.
localStorage - это сам объект локального хранилища.
|
|
19.06.2016, 19:03
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 32
|
|
Сообщение от laimas
|
Если это статические файлы, а НДС для отображения цены с НДС, то что вам мешает сразу прописать уже рассчитанное в объект? Или проблема узнать сколько будет 18% от цены?
А получить точно также как и получаем все остальное. В скрипте прилагаемом вообще описана только работа с корзиной, данные которой хранятся в локальном хранилище, Каким образом они туда попадают вопрос к вам. То есть чтобы их поместить в описанный выше объект (это похоже и есть формат хранения корзины), сервер эти данные должен передать клиенту (НДС).
А получать, смотрите функцию renderBasketTable - local.name, local.price и т.д., будет в хранилище nds, значит local.nds.
localStorage - это сам объект локального хранилища.
|
Копнул еще раз скрипт:
Прописал константу
var local = {
"basket_is_empty" : "Корзина пуста",
"name" : "Название",
"price" : "Цена",
"all" : "Всего",
"order" : "Оформить заказ",
"basket" : "корзина",
"num" : "кол-во",
"send" : "Спасибо за покупку!\nМы свяжемся с Вами в ближайшее время",
"goods" : "Товаров",
"amount" : "на сумму"
"nds" : "Ставка НДС"
"ndsamount" : "Сумма ндс НДС"
};
Это чисто lable присвоил.
Далее:
var goodieLine = {"id" : id_, "name" : name_, "nds": nds, "ndsamount": ndsamount, "price": price, "num" : kol, "url" : document.location.href, "photo" : ""};
Написал атрибут для добавления в строку товара.
this.reCalc = function()
{
var num = 0;
var sum = 0;
var nds = 0;
var ndsamount = 0;
for(var idkey in this.DATA)
{
num += parseInt(this.DATA[idkey].num);
sum += parseFloat(parseInt(this.DATA[idkey].num) * parseFloat(this.DATA[idkey].price));
}
Объявил переменные, а вот что сделать с sum += не знаю
this.widjetObj.html(local.goods + " " + num + " " + local.amount + " " + sum + " Руб.");
localStorage.setItem(this.cardID, JSON.stringify(this.DATA));
И тут не ясно
|
|
19.06.2016, 22:48
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну а для чего вы считаете общую сумму?
|
|
20.06.2016, 08:27
|
Аспирант
|
|
Регистрация: 16.06.2016
Сообщений: 32
|
|
Сообщение от laimas
|
Ну а для чего вы считаете общую сумму?
|
Чтобы подвести итого. 18% налога (в сумме) + стоимость* кол во = общая\
|
|
20.06.2016, 11:41
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Вы НДС считаете по общей сумме, тогда зачем вам нужно было помещать ее значение в каждую характеристику товара? Ну коли у вас статика, все расписано в переменных, ну пропишите и значение НДС в переменной
var local = {
//...
//...
nds = .18
Сообщение от Meattale
|
Чтобы подвести итого
|
Ну и? Это что считает?
for(var idkey in this.DATA) {
num += parseInt(this.DATA[idkey].num);
sum += parseFloat(parseInt(this.DATA[idkey].num) * parseFloat(this.DATA[idkey].price));
}
Найти 18% от суммы общей проблема? sum += sum * nds. Куда выводить проблема? Ну так решайте сами.
|
|
|
|