templates: separate cart buttons to new partial