Согласно исходникам ключ товара генирируется так
protected function getProductKey(array $ product, array $ options = [])
{
$ key_fields = explode(',', $ this->config['cart_product_key_fields']);
$ product['options'] = $ options;
$ key = '';
foreach ($ key_fields as $ key_field) {
if (isset($ product[$ key_field])) {
if (is_array($ product[$ key_field])) {
$ key .= json_encode($ product[$ key_field]);
} else {
$ key .= $ product[$ key_field];
}
}
}
return 'ms' . md5($ key);
}
Следующий код только для отчаяных
{ var $ key = ($ id ~ $ .php.round($ price | replace:" ":"",2) ~ $ weight ~ ([] | toJSON)) | md5}
Код $ .php.round($ price | replace:" ":"",2) будет работать только если включена настройка Разрешить PHP в Fenom, он нужен для того чтобы округлить цену и убрать пробелы
Код ([] | toJSON) подразумивает что у товара нет опций
Теперь можно, например, проверить есть ли товар в сессии корзины или нет
{ if $ .session['minishop2']['cart'][$ key]}
{ var $ count=$ .session['minishop2']['cart'][$ key]['count']}
{ /if}