Предупреждаю, таблица моя сильно привязана к данным, т.е. ваши данные наверняка будут отличаться от моих, поэтому наверняка придётся под ваш проект настраивать.
Цены на товары различных размеров я загнал в расширенные(advanced) атрибуты под названием Варианты.
Также пришлось изменить структуру БД добавив к товару ещё один допатрибут - строку с размерами.
Во flypage накрапал такой код :
<?php // СТРОИМ ТАБЛИЦУ
$tablo = array( array("drob","opis","MM","M","Sr","B") );
//Получаем расширенные(advanced) атрибуты - дроби,описания,цены - и загоняем в tablo
$var = array_values( $ps_product_attribute -> getAdvancedAttributes( $product_id ) );
$var = array_values( $var[0] );
$var = array_values( $var[1] );
for ( $i=0; $i<sizeof($var); $i++ ) {
$arg_values = array_values($var[$i]);
$str = explode( "/", $arg_values[0], 3 );
$tablo[$str[1]]["drob"] = $str[1];
$tablo[$str[1]]["opis"] = $str[2];
switch ( $str[0] ) {
case "ММ" :
$tablo[$str[1]]["MM"] = $arg_values[2];
break;
case "М" :
$tablo[$str[1]]["M"] = $arg_values[2];
break;
case "Ср" :
$tablo[$str[1]]["Sr"] = $arg_values[2];
break;
case "Б" :
$tablo[$str[1]]["B"] = $arg_values[2];
break;
}
}
unset($var,$arg_values);
//Получаем пользовательские(custom) атрибуты - размеры - и загоняем в sizes
global $db;
$sizes = array( array( "S","V","T" ), array( "MM","M","Sr","B" ) );
$q = "SELECT product_id, sizes FROM #__{vm}_product WHERE product_id='".$product_id."'";
$db->query( $q );
$db->next_record();
$custom_attribute_list = $db->f( "sizes" );
if( $custom_attribute_list ) {
$fields = explode( ";", $custom_attribute_list );
foreach( $fields as $field ) {
$str = explode( "/", $field );
for ( $i=0; $i<sizeof($str); $i++ ) {
$sizes[$str[1]][$str[0]] = $str[2];
}
}
}
unset($q,$custom_attribute_list,$fields);
echo "<table width='100%' cellpadding='5' cellspacing='0' border='1'>
<tbody>
<tr class='bodies'>
<td width='200'><strong>".$product_sku."</strong></td>
<td colspan='2' width='364'><strong>".$product_s_desc."</strong></td>
<td align='center' width='30'><strong>ММ</strong></td>
<td align='center' width='30'><strong>М</strong></td>
<td align='center' width='30'><strong>СР</strong></td>
<td align='center' width='30'><strong>Б</strong></td>
</tr>
<tr>
<td rowspan='".(sizeof($tablo)+2)."' valign='top' align='center' width='200'>".$product_image."<br/>".$this->vmlistAdditionalImages( $product_id, $images ).$size."</td>
<td valign='top' align='center' width='30'>".$tablo[1]["drob"]."</td>
<td valign='top' align='left' width='364'>".$tablo[1]["opis"]."</td>";
echo "<td valign='top' align='center'>";
if ( $tablo[1]["MM"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='ММ/".$tablo[1]["drob"]."/".$tablo[1]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[1]["MM"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[1]["MM"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo"</td>
<td valign='top' align='center'>";
if ( $tablo[1]["M"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='М/".$tablo[1]["drob"]."/".$tablo[1]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[1]["M"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[1]["M"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo "</td>
<td valign='top' align='center'>";
if ( $tablo[1]["Sr"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='Ср/".$tablo[1]["drob"]."/".$tablo[1]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[1]["Sr"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[1]["Sr"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo "</td>
<td valign='top' align='center'>";
if ( $tablo[1]["B"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='Б/".$tablo[1]["drob"]."/".$tablo[1]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[1]["B"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[1]["B"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo "</td>
</tr>";
for ( $i=2; $i<sizeof($tablo); $i++ ) {
echo
"<tr>
<td valign='top' align='center' width='30'>".$tablo[$i]["drob"]."</td>
<td valign='top' align='left' width='364'>".$tablo[$i]["opis"]."</td>
<td valign='top' align='center'>";
if ( $tablo[$i]["MM"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='ММ/".$tablo[$i]["drob"]."/".$tablo[$i]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[$i]["MM"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[$i]["MM"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo
"</td>
<td valign='top' align='center'>";
if ( $tablo[$i]["M"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='М/".$tablo[$i]["drob"]."/".$tablo[$i]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[$i]["M"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[$i]["M"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo
"</td>
<td valign='top' align='center'>";
if ( $tablo[$i]["Sr"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='Ср/".$tablo[$i]["drob"]."/".$tablo[$i]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[$i]["Sr"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[$i]["Sr"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo
"</td>
<td valign='top' align='center'>";
if ( $tablo[$i]["B"]<>0 ) { echo
"<form action='".$mm_action_url."index.php' method='post' name='addtocart' id='".uniqid('addtocart_')."' class='addtocart_form' onsubmit='handleAddToCart( this.id );return false;''; >
<input type='hidden' name='product_id' value='".$product_id."' />
<input type='hidden' name='prod_id[]' value='".$product_id."' />
<input type='hidden' id='Варианты_field' name='Варианты".$product_id."' value='Б/".$tablo[$i]["drob"]."/".$tablo[$i]["opis"]."'>
<input type='hidden' id='quantity3' name='quantity[]' value='1' />
<input type='hidden' name='flypage' value='shop".$flypage."' />
<input type='hidden' name='page' value='shop.cart' />
<input type='hidden' name='manufacturer_id' value='".$manufacturer_id."' />
<input type='hidden' name='category_id' value='".$category_id."' />
<input type='hidden' name='func' value='cartAdd' />
<input type='hidden' name='option' value='com_virtuemart' />
<input type='submit' value='".$GLOBALS['CURRENCY']->convert( $tablo[$i]["B"], "USD" )."' title='Купить 1 шт по цене ".$GLOBALS['CURRENCY']->convert( $tablo[$i]["B"], "USD" )." ".$GLOBALS['product_currency']."' />
</form>";
}
echo
"</td>
</tr>";
}
echo //Вывод размеров
"<tr bgcolor='#e6e6fa'>
<td colspan='2' valign='top' align='right' width='364'>Ширина (см)</td>
<td valign='top' align='center'>".$sizes["S"]["MM"]."</td>
<td valign='top' align='center'>".$sizes["S"]["M"]."</td>
<td valign='top' align='center'>".$sizes["S"]["Sr"]."</td>
<td valign='top' align='center'>".$sizes["S"]["B"]."</td>
</tr>
<tr bgcolor='#e6e6fa'>
<td colspan='2' valign='top' align='right' width='364'>Высота (см)</td>
<td valign='top' align='center'>".$sizes["V"]["MM"]."</td>
<td valign='top' align='center'>".$sizes["V"]["M"]."</td>
<td valign='top' align='center'>".$sizes["V"]["Sr"]."</td>
<td valign='top' align='center'>".$sizes["V"]["B"]."</td>
</tr>
<tr bgcolor='#e6e6fa'>
<td colspan='2' valign='top' align='right' width='364'>Толщина (см)</td>
<td valign='top' align='center'>".$sizes["T"]["MM"]."</td>
<td valign='top' align='center'>".$sizes["T"]["M"]."</td>
<td valign='top' align='center'>".$sizes["T"]["Sr"]."</td>
<td valign='top' align='center'>".$sizes["T"]["B"]."</td>
</tr>
</tbody>
</table>";
?>
У меня всё крутится на денвере, когда будет на хостинге смогу продемонстрировать вживую.
А пока смотрите картинку

Нажимая одну из кнопок, кладём в корзину 1 шт товара соответствующего размера, материала и цены.
Цена написана на кнопке.
Когда меняем валюту магазина, меняются и цены на кнопках.
PS : Кто писал в личку - извините, ответить не могу - НЕТ ПРАВ ))))