Hi,
In product listing view, you have know if a product has options or not.
You can read the variable " $this->row->has_options " like the view "quantity" does in order to know if it has to display "choose options" or "add to cart" text.
If you want to be sure that the price between variants changes, you should add some PHP code in the "listing" view in order to load all characteristics data.
The idea would be to loop on all products in $this->rows, store the id of main products (when $row->has_options is true) in an array and after that, make a SQL request in order to load prices for variants.
Regards,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.