@Addvencher

Как использовать 1 json файл для нескольких страниц?

На сайте есть например 3 раздела разной тематики в которых находятся разные товары (соответственно должно быть 3 группы товаров), подключаю к каждой странице свой JSON файл, и 1 JSON файл для корзины товаров, в которой находятся все 3 группы записей(те же записи что и на 3 станицах, только все вместе). Как сделать проще? Желательно 1 json файл на все страницы и корзину. На примере ниже json только с 1 раздела.
{
	"1001": {
		"name": "Доска обрезная 50х150х6000 (ель)",
		"cost": 385,
		"img" : "board.jpg"
	},
	"1002": {
		"name": "Доска обрезная 40х150х6000 (ель)",
		"cost": 305,
		"img" : "board.jpg"
	},
	"1003": {
		"name": "Доска обрезная 30х150х6000 (ель)",
		"cost": 230,
		"img" : "board.jpg"
	},
	"1004": {
		"name": "Брус обрезной 100х100х6000 (ель)",
		"cost": 510,
		"img" : "brus.jpg"
	},
	"1005": {
		"name": "Брус обрезной 150х150х6000 (ель)",
		"cost": 1150,
		"img" : "brus.jpg"
	}
}


var cart = {};

function init() {
    $.getJSON("goods.json", goodsOut);
}

function goodsOut(data) {
    console.log(data);
    var out='';
    for (var key in data) {
        out +='<div class="cart">';
        out +='<img src="../../img/'+data[key].img+'">';        
        out +='<p class="name">'+data[key].name+'</p>';
        out +='<div class="cost">'+data[key].cost+' руб./шт.</div>';
        out +='<button class="add-to-cart" data-id="'+key+'">В корзину</button>';
        out +='</div>';
    }
    $('.goods-out').html(out);
    $('.add-to-cart').on('click', addToCart);
}
function addToCart() {
    var id = $(this).attr('data-id');
    if (cart[id]==undefined) {
        cart[id] = 1;
    }
    else {
        cart[id]++;
    }
    saveCart();
}

function saveCart() {
    localStorage.setItem('cart', JSON.stringify(cart));
}

function loadCart() {
    if (localStorage.getItem('cart')) {
        cart = JSON.parse(localStorage.getItem('cart'));
    }
}

$(document).ready(function () {
    init();
    loadCart();
});
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Max-GopheR
@Max-GopheR
Web разработчик
Код писать лень, но логику вижу такой:
1) Каждый "контроллер" должен работать с одним файлом
2) Для разделения категорий можно использовать например такую структуру файла:
{
    "cart":{...},
    "razdel1": {...},
    "razdel2": {...},
    "razdel3": {...}
}

Ну и соответственно для автоматизации определения задела - название можно определять локальной переменной.
А вообще сложно менять логику проекта, который не знаешь!))) Поэтому думаю что общую суть донес, ну а дальше дело за вами!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Digital Sharks Казань
от 60 000 до 65 000 руб.
Ingram Micro Cloud Москва
от 170 000 руб.
CODEFATHER Москва
от 70 000 до 150 000 руб.