Причина в том, что он и не должен определять ид клиента, если тот не вошел на сайт.
Просто подставить проверку на сохраненную сесиию и не будет ошибки.
В основном файле blockwishlist.php перед использованием функции
WishList::getProductByIdCustomer
нужно подставить проверку
if($this->context->customer->id)
$this->smarty->assign(
array(
'id_wishlist' => $id_wishlist,
'isLogged' => true,
'wishlist_products' => ($id_wishlist == false ? false : WishList::getProductByIdCustomer($id_wishlist, $this->context->customer->id, $this->context->language->id, null, true)),
'wishlists' => $wishlists,
'ptoken' => Tools::getToken(false)
)
);
else
$this->smarty->assign(array('wishlist_products' => false, 'wishlists' => false));