В-общем ничего не вышло у меня, попрошу посмотреть, может кто разберется. Делал по аналогии с выводом product_old_price. Вот какие изменения внес в файлы joomshopping:
В файле lib/jtableauto.php добавил prod.product_buy_price в эту функцию
function getBuildQueryListProductDefaultResult($adfields=array()){
$lang = JSFactory::getLang();
if (count($adfields)>0) $adquery = ",".implode(', ',$adfields); else $adquery = '';
return "prod.product_id, pr_cat.category_id, prod.`".$lang->get('name')."` as name, prod.`".$lang->get('short_description')."` as short_description, prod.product_ean, prod.image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_buy_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices".$adquery;
}
В файле tables/product.php создал функцию
function getBuyPrice(){
if (isset($this->attribute_active_data->buy_price)){
return $this->attribute_active_data->buy_price;
}else{
return $this->product_buy_price;
}
}
В файле models/productajaxrquest.php в тело public function getLoadProductData() записал
if ($product->product_buy_price){
$buy_price = formatprice($product->getBuyPrice());
$rows['buyprice'] = $buy_price;
}
И наконец в js/functions.js записал
if (json.buyprice){
jQuery("#buy_price").html(json.buyprice);
}
В файле шаблона product_default.php вызываю вот этим кодом
<span id="buy_price"><?php print formatprice($this->product->product_buy_price)?></span>
И при смене атрибутов ничего не происходит, выводится только закупочная цена по умолчанию которая.
Я, конечно же, понимаю свой дилетантский подход, но это всё, на что хватило моих знаний и представлений.