Согласно исходникам ключ товара генирируется так
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}