Спасибо, afwollis.
На входе функция $this->cart->add(product_id, quantity, option, profile_id) получает
2015-07-03 23:05:35 - product_id = 139
2015-07-03 23:05:35 - quantity = 1
2015-07-03 23:05:35 - option: Array ([594] => 1059)
2015-07-03 23:05:35 - (int) profile_id = 0
Как я понимаю, это функция ядра и туда лучше не вмешиваться - потому как это "череповато" проблемами с функционалом при обновлении.
После ее работы в корзине (представлена часть данных, имеющих отношение к вопросу)
2015-07-03 23:05:35 - cart: Array [
139:YToxOntpOjU5NDtzOjQ6IjEwNTkiO30=:] => Array (
[key] => 139:YToxOntpOjU5NDtzOjQ6IjEwNTkiO30=:
[product_id] => 139
[option] => Array()
[quantity] => 1
[profile_id] => 0
)
В процессе работы функции add() значение option "потерялось" и этим я могу объяснить получение цены не опции, а основного лота.
Для наблюдения за динамикой процесса использую $this->log->write() в system/logs/error.txt, но этот способ по понятным причинам не катит в определениях классов ядра.
Подскажите способ gebug/watch для этого случая.