One place would address all the display prices ...
Peek in the /includes/functions/functions_prices.php
The function zen_get_products_display_price manages the display ...
At the bottom, is where the Call for Price is handled ...
PHP Code:
// If Call for Price, Show it
if ($product_check->fields['product_is_call']) {
if (PRODUCTS_PRICE_IS_CALL_IMAGE_ON=='0') {
$call_tag = '<br />' . PRODUCTS_PRICE_IS_CALL_FOR_PRICE_TEXT;
} else {
$call_tag = '<br />' . zen_image(DIR_WS_TEMPLATE_IMAGES . OTHER_IMAGE_CALL_FOR_PRICE, PRODUCTS_PRICE_IS_CALL_FOR_PRICE_TEXT);
}
}
The final display price is whatever the results are when you hit:
PHP Code:
return $final_display_price . $free_tag . $call_tag;
You can alter this return based on any condition you want either at the end of the function or build an IF to catch it right near the start after the information has been gathered in:
PHP Code:
$product_check = $db->Execute("select products_tax_class_id, products_price, products_priced_by_attribute, product_is_free, product_is_call from " . TABLE_PRODUCTS . " where products_id = '" . $products_id . "'" . " limit 1");
Note: the add to cart buttons work in a similar manner ...
The function zen_get_buy_now_button
Decides if the button has to be changed ... it follows along the same logic as the price display so to speak ...
Just catch the data with an IF before the return happens to test for your new condition ...
NOTE: there are no overrides on the functions so you will need to keep a copy of the original files and your changed files ...