Ah, let’s see if I get it this time.
The issue is the MainController gets confused when you load another component partial from another component partial. In your case, at the point before the cartBox::updateItem
partial is rendered the controller component context is localMenu
but changes to cartBox
right after it is rendered, so instead of searching for the ::item
partial within the localMenu
component it searches within the cartBox
and fails.
To get around this, you’ll need to explicitly specify the component alias and the partial name
<?= partial('localMenu::item');?>