Это скорее вопрос не столько реализации корзины, а организации собственно справочника номенклатур. Ничего нового тут нет. Что ботинки разных размеров продавать, что пиццы. Можно считать разные размеры разной номенклатурой, а можно ввести какие-нибудь "типы" или "категории" номенклатур. Дело вкуса, делают и так и так.
А вот добавки я бы считал просто отдельными номенклатурами. Так как "Ананас" за 59 рублей он что к одной пицце, что к другой - всё тот же ананас! Для удобства я бы их выделил в отдельную группу, позиции из которой не предлагаются в основном прайсе (где сами пиццы), а только после выбора основной позиции.
В корзину добавляется товар из основной группы (пицца), затем предлагается добавить товары из другой группы (добавки - грибы, ананасы и т.д.)