Antwort #4 am: 09. August 2010, 15:43:14
Probier mal so:
function getShippingLink($pid='') {
if ($pid != '') {
$ftgewicht_query = xtDBquery("SELECT products_weight, products_id FROM ".TABLE_PRODUCTS." WHERE products_id = '".(int)$pid."'");
$ftgewicht = xtc_db_fetch_array($ftgewicht_query,true);
if ($ftgewicht['products_weight'] <= '0.011') {
$ftcomid = 95;
} elseif ($ftgewicht['products_weight']> '0.011' AND $ftgewicht['products_weight'] <= '30') {
$ftcomid = 96;
} elseif ($ftgewicht['products_weight']> '30' AND $ftgewicht['products_weight'] <= '40') {
$ftcomid = 97;
} elseif ($ftgewicht['products_weight']> '40' AND $ftgewicht['products_weight'] <= '70') {
$ftcomid = 98;
} elseif ($ftgewicht['products_weight']> '70') {
$ftcomid = 99;
} else {
$ftcomid = SHIPPING_INFOS;
}
} else {
$ftcomid = SHIPPING_INFOS;
}
return ' '.SHIPPING_EXCL.' <a target="_blank" href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.$ftcomid.'&KeepThis=true&TB_iframe=true&height=400&width=600').'" title="Information" class="thickbox">'.SHIPPING_COSTS.'</a>';
}
Du musst dann nur in der includes/classes/product.php, includes/modules/product_info.php usw. dem funtionsaufruf $main->getShippingLink() die products_id mitgeben. Also in der includes/classes/product.php würde das so aussehen:
'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink($array['products_id']),
und in der includes/modules/product_info.php ungefähr so:
$info_smarty->assign('PRODUCTS_SHIPPING_LINK',$main->getShippingLink($product->data['products_id']));
usw.
Ungetestet und wie immer auf eigene Gefahr!
MfG Hetfield