Instead of directly adding the product to the cart or going to the single page, you can display a modal window when the user clicks on the button on your product archives. This is very useful for example for food product toppings: the user clicks, adds the toppings and then adds it to the cart.