maliyshock

Корзина для интернет магазина. Php, Ajax, Wordpress

    Рекомендуемые сообщения

    maliyshock    0
    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 и возвращен список всех оставшихся элементов но этого почему-то не происходит.
    Ии вот, пока я на этом повис не понимаю в чём причина. Кто знает?


    И ещё вопрос. Ребят, какие форумы посоветуете, где адекватные люди могут адекватно подсказать?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    rus    399
    rus

    не знаю, может я не правильно понял, но может так:

    if (isset($_SESSION['cart']$_POST['remove'])) {               foreach($_SESSION['cart'] as $key => $val) {                 if($_POST['id'] == $key) {                              unset($_SESSION['item'][$key]);                 }               }}

    не плохо было бы показать распечатанный массив $_SESSION['cart']

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Veseloff    404
    Veseloff

    Если это вордпресс, то воспользуйтесь готовым решением и всё.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    maliyshock    0
    maliyshock

    rus

    Спасибо, я попробую

     

    Veseloff

    Честно говоря, я искал, но ничего годного не нашёл. Может вы что-то посоветуете?

    В идеале, конешно, научиться свои скрипты писать, т.к. их проще потом совершенствовать и переделывать.

     

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Veseloff    404
    Veseloff
    Честно говоря, я искал, но ничего годного не нашёл. Может вы что-то посоветуете?

    Да, я посоветую не пользоваться вордпрессом.

    • Like 1

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    maliyshock    0
    maliyshock
    Да, я посоветую не пользоваться вордпрессом.

    Чем же он вам так не угодил? 
    Я спрашивал про плагин корзины.

    Если же вам нечего подсказать,  нечем помочь, нечего предложить то зачем вообще писать такие посты?

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах
    Veseloff    404
    Veseloff

    http://yandex.ru/yandsearch?text=wordpress+shop+plugin

    Очень много вариантов. Сомневаюсь, что вы все смотрели и ни один не подошёл. Ну а неугодил он тем, что как минимум это движок для блогов и делать из него интернет-магазин довольно странное занятие. Ну и на просторах интернета вы можете прочитать одстаточно о недостатках вордпресса.

    Поделиться сообщением


    Ссылка на сообщение
    Поделиться на других сайтах

    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

    • Войти через Facebook
    • Войти через Twitter
    • Войти через Microsoft
    • Войти через LinkedIn
    • Войти через Google

    • Похожие публикации

      • mightybat
        Автор: mightybat
        Добрый день.
        Есть форма(опросник), переменных на 200, подскажите как можно ее заполнить на компьютере1, и открыть на компьютере2 уже заполненную?
        Может быть есть человеческий способ, решения данной проблемы? 
        Вижу только вариант 1)сохранить все переменные в mysql 2)на втором компе вытащить из БД 3)воссоздать страницу HTML через echo( куча чекбоксов с oncliсk показывающими дивы, которые замучаюсь переписывать с block на none и наоборот).
      • Divnenkiy
        Автор: Divnenkiy
        Здравствуйте.
        Мучаюсь не первый день с такой проблемой.
        Есть jquery, есть модальная форма, сначала мне нужно выполнить GET запрос на сервер, и в зависимости от того, что сервер ответит решить можно ли открывать форму или нет.
        Если использоваться асинхронный запрос, то понятно, что форма откроется в любом случае. А если использовать синхронный то всё хорошо, но консоль браузера ругается, что я не правильно поступаю и мои методы Deprecated.
        Как сейчас правильно поступать в современных тенденциях?
        Для понимания что я хочу, изображу это примерно так:
        function getAccess(){
          ... запрос GET на сервер
        return ответ
        }
        function showModalWindow(){
        если getAccess() то открываем форму
        }
        Не представляю как это вырулить асинхронно