Когда у меня возникла эта проблема, это почти также проблема именования с названием продукта или идентификатором.
если вы проверите system/libraries/cart.php
, вы увидите, что он применяет следующие правила:
var $product_id_rules = '\.a-z0-9_-'; // alpha-numeric, dashes, underscores, or periods
var $product_name_rules = '\.\:\-_ a-z0-9'; // alpha-numeric, dashes, underscores, colons or periods
поэтому у меня часто бывали пользователи, которые вводили продукт, названный японскими иероглифами или символами авторского права ... и эта проверка не прошла и я ничего не добавлю в корзину.
также проверьте функцию _insert () в том же классе ... она может вам помочь.
.. также не уверен насчет 1.7, но в 2.0 корзина не может добавить, если цена равна 0, потому что она удаляет ведущие нули .. оставляя пустую строку.
Но для всего этого вы должны получить что-то полезное в вашем файле журнала CI, если вы включите его.