Не могу получить количество товара в корзине, как исправить?

Казалось бы куда проще, но не работает, не могу получить именно количество товара с опред айди, если выводить
$productId
то это стринга и выдаёт правильные данные, если выводить
$value['id']
тоже стринга, тоже нормальные данные, но при сравнение ничего, не заходит внутрь хотя КАЗАЛОСЬ БЫ, две стринги с одинаковыми данными, КАЗАЛОСЬ БЫ что не так? если в лупе сделать return какой либо переменной выводится но if не срабатывает, что я делаю не так?

<?php
$ms2 = $modx->getService('miniShop2');
$ms2->initialize($modx->context->key);
$cart = $ms2->cart->get();

foreach($cart as $key => $value){
    if($productId == $value['id']){
        return $value['count'];
    }
}

return 0;
Viktor
14 февраля 2022, 14:27
modx.pro
152
0

Комментарии: 4

Viktor
14 февраля 2022, 14:28
0
простейший if а не работает, куда либо в другой язык засунь оно работает, а тут
    vectorserver
    14 февраля 2022, 15:30
    0
    <?php
    $ms2 = $modx->getService('miniShop2');
    $ms2->initialize($modx->context->key);
    $cart = $ms2->cart->get();
    
    $cartCount = 0;
    
    foreach($cart as $key => $value){
        if($productId == $value['id']){
            $cartCount+=1;
        }
    }
    
    return $cartCount;
      Viktor
      15 февраля 2022, 06:20
      0
      Всё равно не работает
      Viktor
      15 февраля 2022, 06:23
      0
      Сменил подачу айди без ковычек
      {var $haveInBasket ='!productCountInBasket' | snippet : ['productId' => $_modx->resource.id]}
      и заработало.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4