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

@Andchir , спасибо большое за совет! Я пока только учусь, поэтому могу писать жуть =)

Спасибо работает, очень помогло . У меня правда после первой реализации потом вываливалось с ошибкой связанной с 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 было разорвано, подождите, пока мы пытаемся восстановить соединение.