Во-первых, вы должны знать, что библиотека CI_Cart помечена как устаревшая, поэтому, если это долгосрочный проект, который вы планируете поддерживать в течение некоторого времени, вы можете просто использовать другую библиотеку.
Если вы все еще хотите использовать библиотеку корзины, я советую создать таблицу в вашей базе данных, которая будет иметь ту же структуру, что и ваш массив сеанса cart_contents.
После этого вы можете захотеть расширить библиотеку CI_Cart и добавить возможность сохранять данные там одновременно с сохранением в сеансе. То же самое касается всех других операций: удаление элементов, добавление новых и т. Д.
После этого вы просто переходите к функции входа в систему, и каждый раз, когда пользователь входит на ваш сайт, вы запрашиваете эту таблицу и проверяете, есть ли еще корзина. Если это так, просто заполните ваш сеанс cart_contents, и пользователь получит доступ к той корзине, которую он оставил.