Sostanzialmente devi fare un override del template default della view category, ed all'interno di questo template devi integrare il codice del sub template default_addtocart.php che trovi nella view producdetails.
i dettagli dell'operazione dipendono dalla versione di VM e dal template selezionato per VM.
il problema delle varianti è riconducibile al fatto che non puoi inserire solo il pulsante se il prodotto prevede una serie di varianti di carrello da selezionare per poter procedere all'acquisto.
ciao,
marco