onBeforeProductListingLoad(&$filters,&$order,&$parent, &$select, &$select2, &$a, &$b, &$on)
This function will be triggered by HikaShop the products are loaded in order to be displayed on products listings on the front end. The $filters variable will be an array of conditions which will then be combined in order to form the MySQL query which will be used to load the products. That can enable you to change the way the products are loaded on your website listings by adding or removing conditions on that query.
And you can also potentially add a left join by appending it at the end of the $on variable like that:
$on .= 'LEFT JOIN #__hikashop_price AS p ON b.product_id=p.price_product_id';
And then change the $order variable to use the p.price_value field so that the products get ordered by price.
Sure, this function will be triggered during the displaying of a product listing.