By
maliyshock
Всем привет! Я начал на днях делать корзину для сайта. Делаю это впервые, с ajax и js знаком плохо, отсюда ошибки и вопросы.
http://jazz-i-lopata.ru/category/%D0%B8%D0%B3%D1%80%D1%8B/#
Вот что готово - при клике на ссылку "добавить в корзину" товар добавляется в корзину и выводится таблица с количеством товара, его стоимостью и общей стоимостью.
Вся эта схема пока работает благодоря 3-м файлам.
header.php - в котором отслеживаются события кликов по тому или иному элементу и запускается соответствующая функция.
<script language="javascript">
$(document).ready(function() { $(".submit").click(function(){ var id = $(this).attr("id"); $.post("<?php bloginfo("url"); ?>/korzina", {data: id}, function(data){ $("#cart").html(data); }); }); $(".remove").click(function(){ var remove_id = $(this).attr("id"); $.post("<?php bloginfo("url"); ?>/korzina", {remove: remove_id}, function(data){ $("#cart2").html(data); }); $("#cart").hide(); }); }); </script>При клике на ссылку "Добавить в карзину" запускается первая функция, которая передаёт на страницу korzina - id добавляемого товара.
На странице korzina происходит получение id товара и подсчёт количества.
session_start();if (isset($_POST['data'])) { $data = $_POST['data']; $_SESSION['cart'][$data] += 1;}if (isset($_POST['remove'])) { $remove = $_POST['remove']; session_unset($_SESSION['cart'][$remove]);}Есть ещё файл category.php в котором настроен вывод товаров и указаны соответствующие id и классы.
Что не работает:
- по клику на кнопку "удалить" по аналогии с кнопкой "добавить в карзину" должен запускаться процесс отсылки id на страницу karzina. После чего если условие isset($_POST['remove']) выполняется из массива сессии должен быть удален переданный id и возвращен список всех оставшихся элементов но этого почему-то не происходит.
Ии вот, пока я на этом повис не понимаю в чём причина. Кто знает?
И ещё вопрос. Ребят, какие форумы посоветуете, где адекватные люди могут адекватно подсказать?
Question
art201214
Здравствуйте, товарищи
Пытаюсь написать корзину, так сказать на native js, и пока слабо представляю как это сделать. Возможно, кто-то сможет хотя бы словесно меня направить в нужное русло. У меня есть некоторые замыслы, они описаны в конце
Есть страница товара (на каждый товар отдельно) и страница корзины отдельно (скрины страниц приложены). Предполагается хранить "корзину" в localstorage.
Со страницы товара нужно вытянуть изображение, название, цену, выбранный цвет и размер. Соответственно, после нажатия кнопки "add to bag" товар должен отобразиться на странице корзины. Если товар с такими же параметрами уже есть в хранилище, нужно увеличить счетчик этого товара в корзине на 1, по клику на "remove item" - уменьшить на 1. Клик по "empty bag" - очистить корзину. Так же нужно подсчитать сумму всех товаров и их количество.
Товар
Корзина
У меня пока что возникают такие идеи:
- Для каждого товара по нажатию на кнопку "add" создавать объект, в качестве свойств и сделать изображение(путь к нему), название, цену, выбранный цвет и размер.
- После пройтись по объектам и сравнить свойства только созданного с имеющимися (если уже имеется такой же объект добавить к счетчику, если нет - добавить новый товар в корзину). В этом пункте мне более всего нужны советы, т.к. не представляю как это сейчас сделать
- Как собрать сумму покупок пока что тоже слабо понимаю
- Как удалить один экземпляр товара (уменьшить счетчик товара на 1, если он до этого был =1 - удалить товар (как удалить товар в таком случае - не соображу))
Буду благодарен за любые советы и помощь
Edited by art201214Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.