<div id="msMiniCart" class="{$total_count > 0 ? 'full' : ''}">
{if $cart}
<div class="MiniCart__title">
Ваш заказ:
</div>
{else}
<h2>Корзина пустая.</h2>
{/if}
{if $cart}
<div class="cart__inner mt-50">
{foreach $cart as $k => $item}
<div class="cart__item">
<div class="cart__img">
{if $item.img?}
<img class="align-self-center mb-3" src="{$item.img}" alt="{$item.pagetitle}">
{else}
<img class="mb-product-img mb-3" src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
alt="{$item.pagetitle}" width="50" />
{/if}
</div>
<a href="{$id | url}" class="cart__title" >
{$item.pagetitle}
</a>
<form method="post" id="msmcd-mc-{$item.id}" class="ms2_form cart-count js-cart-count">
<input type="hidden" name="key" value="{$k}">
<input type="hidden" name="msmcd_id" value="{$item.id}">
<div class="d-flex justify-content-center">
<div class="btn-count">
<span class="input-group-btn">
<button type="button" class="btn-number btn-minus minus" data-type="minus">-</button>
</span>
<input type="text" name="count" class="form-control input-number counter msmcd-count" value="{$item.count}" data-min="1" data-max="99999999">
<span class="input-group-btn">
<button type="button" class="btn-number btn-plus plus" data-type="plus">+</button>
</span>
</div>
</div>
<button class="btn btn-default msmcd-action" type="submit"
name="ms2_action" value="cart/change" style="display: none;"></button>
</form>
<div class="cart__number">
[[-!msProducts?
&tpl=`msMCDProductsRowInputTpl`
]]
</div>
{if $item.price}
<div class="cart__price">
<span>{$item.count}</span> × <span>{$item.price}</span> = <span>{$item.sum}</span> {'ms2_frontend_currency' | lexicon}
</div>
{else}
<div class="cart__price">
Цена отсутствует
</div>
{/if}
<div class="card__close">
<form method="post" class="ms2_form">
<input type="hidden" name="key" value="{$k}">
<input type="hidden" name="msmcd_id" value="{$item.id}">
<button class="btn-close" type="submit" name="ms2_action" value="cart/remove">
<img src="assets/img/arrows_circle_remove.svg" alt="">
</button>
</form>
</div>
</div>
{if 'msmcd_change_count_mini_cart' | option}
<form method="post" id="msmcd-mc-{$item.id}" class="ms2_form">
<input type="hidden" name="key" value="{$k}">
<input type="hidden" name="msmcd_id" value="{$item.id}">
<div class="d-flex justify-content-center">
<div class="btn-group">
<input type="number" min="0" name="count" value="{$item.count}"
placeholder="0" class="input-sm form-control msmcd-count" />
</div>
<div class="btn-group">×</div>
<div class="btn-group"><span>{$item.price}</span></div>
<div class="btn-group">=</div>
<div class="btn-group"><span>{$item.sum}</span></div> {'ms2_frontend_currency' | lexicon}
</div>
<button class="btn btn-default msmcd-action" type="submit"
name="ms2_action" value="cart/change" style="display: none;"></button>
</form>
{else}
{/if}
{/foreach}
</div>
{/if}
{if $cart}
<div class="cart__total mt-50">
{'ms2_minicart_goods' | lexicon} <strong class="ms2_total_count">{$total_count}</strong> {'ms2_frontend_count_unit' | lexicon}
{'ms2_minicart_cost' | lexicon} <strong class="ms2_total_cost">{$total_cost}</strong> {'ms2_frontend_currency' | lexicon}
<br>
По поводу товаров без цены уточняйте у менеджера
</div>
{/if}
{if $_modx->resource.id == 25}
{else}
{if $cart}
<a class="btn btn-2 mt-25" href="[[~25]]">Оформить заказ</a>
{/if}
{/if}
</div>
{foreach $cart as $k => $item} //Вы запускаете цикл foreach
<a href="{$id | url}" class="cart__title" > //а тут почему-то плейсхолдер $id вместо $item.id
{$item.pagetitle} //тут у вас верно используется $item
</a>