Hi,
I think that the easiest way will be to set these bonus item as products as you have done and then display them as common products with an add to cart button, potentially rename this button for these products by editing the view "product / listing_img_title".
Then when clicking on the "add to cart" button add the product to the cart, but it will require the creation of a new plugin to do some checks. The plugin can be based on the function "onBeforeCartUpdate()". If there is products in cart, so add the product else, set $do to false in order to not add the product, etc.
So it require PHP knowledges.
Another solution could be to use custom order fields, and let the customer select a bonus from a dropdown and once again thanks to a plugin check the value and add product with the id selected in the dropdown in the cart.
www.hikashop.com/support/support/documen...l#onBeforeCartUpdate