Под конец установил
FirePHP для отладки.
Удобно. С корзиной было не все гладко, кстати. Система скидок, использующая IEDiscount не заработала как планировалось. В системе размер скидки хранится для каждого пользователя в БД и имеется простая функция, считающая цену одной позиции товара со скидкой. Я уже точно не помню, что не работало, но вроде сумма корзины после применения скидки получалась такой, как если бы скидка применилась только к одному товару.
Поэтому getPrice() в классе товара у меня возвращает сразу цену со скидкой, если она есть, а когда нужно показать реальную цену, просто берется значение параметра из записи.
Также, поскольку корзина зарегистрированных юзеров сохраняется в БД, добавил метод для заполнения корзины из базы, используемый при авторизации.
Еще была такая пробема. Иногда в returnUrl устанавливался адрес js-файла, используемого в админке. Файл подключался через registerScript. Потом оказалось, что я переименовал этот файл. Т.е. registerScript пытался подключить несуществующий файл и его адрес записывался в returnUrl. Это нормальное поведение?)
Еще что вспомню — напишу.