Записки велосипедиста №2. Список заказов пользователя.



  • Спасибо работает, очень помогло . У меня правда после первой реализации потом вываливалось с ошибкой связанной с pdotools. Никак не могу для себя определиться стоит оставлять на борту по дэфолту MinifyX с pdotools. Стоит ли юзатьт эти турбины )))



  • @shk3fan какие ошибки? Не замечал ничего подобного.



  • @pooding я просто с кодингом на профессиональном уровне не разбираюсь , так что что то адекватное написать за errors которые сыпятся в /core/cache/logs написать не могу. Мне помогает если что то edit-ишь и увлёкся всё падает, я просто всю папку cache сношу всё что внутри . Result = помогает :)



  • Буду очень признателен за пример , как сделать ссылку с личного кабинета прямо на товар в шопе . Я за 4 часа так и не понял как это сделать . Зашёл в PMA посмотрел что в двух таблицах shopkeeper3_orders, shopkeeper3_purchases нет resource_id и на этом остановил попытки . Буду признателен за пример линка.



  • @shk3fan надеюсь, что правильно вас понял.
    modx_shopkeeper3_purchases хранит в себе состав заказа. Там название товара (name), id его ресурса (p_id) и количество (count).
    Вот кусок кода, который выводит именно ссылку на товары из заказа. Здесь WHERE order_id = '1' - номер заказа, с которого нужно получить список товаров.

    $sql   = "SELECT `name`, `p_id` , `count`  FROM `modx_shopkeeper3_purchases` WHERE `order_id` = '1";
    $query = new xPDOCriteria($modx, $sql);
    if ($query->prepare() && $query->stmt->execute()) {
        $res = $query->stmt->fetchAll(PDO::FETCH_ASSOC);
        
    
    
    //выводим содержимое - товары в заказе
    
        foreach ($res as $row) {
            echo  '<a href="[[~' . $row['p_id'] . ']]">' . $row['name'] . '</a> <br>';
        }
    
    //выводим содержимое - количество товара в заказе
        foreach ($res as $row) {
            echo  $row['count'] . "<br>";
        }
    }
    
    //если чего-то вдруг не работает
    else
        echo "Запрос не выполнен";
    
    

    Весь код ужасный, это вообще первые попытки работать с php. Но, тем не менее, работает.

    Если объяснить чуть подробнее, чего хотите, то я помогу, мне не трудно =)



  • Спасибо огромнейшее !!! Я потом со временем свои наработки по шопу выложу как разберусь . Пока на данный момент могу только поделиться своей custom-ной dev panel :) Если интересно могу выложить свою dev panel из /manager/templates/default/header.tpl Спасибо ещё раз !



  • alt text
    Подскажите пожайлуста как можно обработать вывод опций товара???
    На скриншоте выводится вот так.



  • @akradeus через json_decode.
    С контактами аналогично здесь делал, попробуйте по примеру.
    $json = $row['contacts'];
    $array = json_decode($json);



  • Участник @pooding написал в Записки велосипедиста №2. Список заказов пользователя.:

    $json = $row['contacts'];

    Что то так не прокатывает (((



  • @akradeus
    в чанке user_order_list добавить options в SQL Select

    $sql   = "SELECT `name`, `p_id` , `count`, `options`   FROM `$table` WHERE `order_id` = '$order_id'";
    

    Далее в нужном месте:

     foreach ($res as $row) {
                $json = $row['options']; 
                $options = json_decode( $json, true ); // декодим массив
                
                foreach ($options as $option) { 
                    echo $option[0]; //выводим массив
                }   
        }
    

    Выводится он в формате "Название TV Название выбранной опции".
    Проверял, работает.



  • Участник @pooding написал в Записки велосипедиста №2. Список заказов пользователя.:

    $json = $row['options'];
    $options = json_decode( $json, true ); // декодим массив

            foreach ($options as $option) { 
                echo $option[0]; //выводим массив
            }  
    

    Оооо спс работает! +100500 к карме :)



  • @akradeus рад помочь =)



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.