Если, например, набрать в корзину 20г специй, 3 кг яблок и 4 метра ткани, то в шапке миникорзины покажет число 27, что никакого практического смысл не несёт (точнее, вообще не имеет смысла). Со штучными товарами не намного лучше. Например, если взять 5 шт. однолитровых банок масла и 1 шт пятилитровую банку масла, то в шапке покажет число 6, что имеет только математический смысл. В общем, банальное суммирование количества или не имеет смысла или пользы. Универсальное и более полезное число в шапке мини корзины должно быть равно сумме позиций товаров (в примерах выше это числа 3 и 2)
в корзине три пары крмссовок разных размеров, и четыре пары тапок, так же разных размеров вижу в шапке 2шт(по вашей версии) лично я, буду в недоумении почему 2, если добавлено 7.
Разных размеров.. это значит либо разные товары, либо разные опции одного товара. Но в любом из этих случаев в корзине будет 7 строчек, то есть 7 позиций => т.е. по моей версии общее кол-во равно 7 (а не 2). А пусть покупатель докупит к вашей корзине ещё 3 кв.м ткани. По вашему счету общее кол-во станет 10, по моему - 8.
На фото миникорзина. И вот пример, когда в корзине один и тот же товар в стандартном виде (на развес в кг) и с опциями. Опция по смыслу изменяет стандартную единицу измерения => значит суммирование количества товаров не имеет смысла => поэтому единственно полезным числом будет количество строчек в корзине (в примере это 4). пс. Также на фотке видно, как я реализовал в миникорзину приписку к 'количеству' 'единицу измерения'. Под ед.измерения товара я занял поле "sku", а для каждого значения опции создал доп.столбец "ed_izm_option" в таблице "oc_option_value" базы дынных. Понятно, что, если в корзине товар с опцией, то ед.измерения опции перекрывает ед.измерения товара. Но тут один нюанс, который разрешить мне было не под силу (идея программистам для создания модификатора) : если ед.измерения это буквенное значение или начинается с буквы (кг, г, м, шт, м2...), то все прекрасно слипается (3кг, 3г, 3м, 3шт, 3 м2), а если ед. измерения начинается с цифры(100г), то получается (3100г). Выход я нашёл в * (задаю изначально в админке не '100г' , а '*100г', в итоге получается 3*100г. Но это коряво , и по хорошему в таком случае надо бы научить количество умножать на ед.измерения, чтобы показывало 300г.