assets/s2diproduct.php /// Art: Shop /// Inhalt: Aufbau der Produktseite /// Beschreibung: Aufbau der Produktseite /// Benötigt: einiges, bekommt es vom Header /// CCML-Parsing: nein /// ////////////////////////////////////////////////////////////////////////////////////////// /// /// Letzte Änderungen: /// 30.01.2009 ProtectDisc Hinweis hinzugefügt /// 18.03.2009 Geiwicht ergänzt /// 25.03.2009 Textlänge konfigurierbare Produkte /// 26.06.2009 Korrektur Rabattstaffeln bei zwei Varianten /// 21.09.2009 Korrektur Anzeige Versandgewicht /// 09.08.2010 Syntaxfehler
/// ////////////////////////////////////////////////////////////////////////////////////////// ///<09.08.2010/7.0.1.11/> if (!defined('SHOP_TO_DATE')) die('Forbidden'); $template = new template(CC_TPL_PRODUCT, 0); // Ecotax-Anpassung Frankreich if ($product_data->ecotax && $product_data->ecotaxamount) $ecotaxpriceinfotext = str_replace('[p]', $product_data->ecotaxamount.' '.CC_SITE_CURRENCY, CC_RESSOURCE_PRICEINFOECOTAX); if ($product_data->variations == 1) { foreach($product_data->variationacaption as $num => $value) { // Rabatte $rebatetext = ''; if (CC_SITE_SHOWREBATES) for ($i = 1; $i <= 5; $i++) if ($product_data->rebatefrom[$num][$i] > 0) $rebatetext .= $product_data->rebatefrom[$num][$i].' '. $product_data->unit.' '. format::price($product_data->rebateprice[$num][$i], CC_SITE_CURRENCY). '
'; $rebatetext = str_replace("'", "", $rebatetext); $template->loop('variationa', array( 'i' => $num, 'attributevalue' => $value, 'selected' => $num == $product_data->defaulta ? 'selected="selected"' : '', 'id' => $product_data->id[$num], 'weight' => $product_data->weight[$num], 'status' => $product_data->status[$num], 'rebatetext' => $rebatetext, 'price' => $product_data->price[$num], 'originalprice' => $product_data->originalprice[$num], )); } } else if ($product_data->variations == 2) { foreach($product_data->variationbcaption as $bnum => $bvalue) { $template->loop('variationb', array( 'i' => $bnum, 'attributevalue' => $bvalue, 'selected' => $bnum == $product_data->defaultb ? 'selected="selected"' : '', )); } foreach($product_data->variationacaption as $anum => $avalue) { $template->loop('variationa', array( 'i' => $anum, 'attributevalue' => $avalue, 'selected' => $anum == $product_data->defaulta ? 'selected="selected"' : '', )); foreach($product_data->variationbcaption as $bnum => $bvalue) { // Rabatte $rebatetext = ''; if (CC_SITE_SHOWREBATES) for ($i = 1; $i <= 5; $i++) if ($product_data->rebatefrom[$anum][$bnum][$i] > 0) $rebatetext .= $product_data->rebatefrom[$anum][$bnum][$i].' '. $product_data->unit.' '. ''. format::price($product_data->rebateprice[$anum][$bnum][$i], CC_SITE_CURRENCY). '
'; $template->loop('variationab'.$anum, array( 'i' => $bnum, 'id' => $product_data->id[$anum][$bnum], 'weight' => $product_data->weight[$anum][$bnum], 'status' => $product_data->status[$anum][$bnum], 'rebatetext' => $rebatetext, 'price' => $product_data->price[$anum][$bnum], 'originalprice' => $product_data->originalprice[$anum][$bnum], )); } } } else { // Produkt ID if (CC_SITE_SHOWID && $product_data->id) $productidtext = CC_RESSOURCE_PRODUCTID.': '.$product_data->id; // Angebot if (CC_SITE_SHOWSALE && $product_data->originalprice != -1) { $message = CC_RESSOURCE_SALEPRICE; $message = str_replace('[n]', format::price($product_data->originalprice, CC_SITE_CURRENCY), $message); $message = str_replace('[s]', format::price($product_data->originalprice - $product_data->price, CC_SITE_CURRENCY), $message); $sale = $message; } // Verfügbarkeit if (!$product_data->status) $template->show('statusna'); else if (CC_SITE_SHOWSTATUS) { if ($product_data->status == 1) $template->show('statusgreen'); else if ($product_data->status == 2) $template->show('statusyellow'); else if ($product_data->status == 3) $template->show('statusred'); } // Rabatte if (CC_SITE_SHOWREBATES) for ($i = 1; $i <= 5; $i++) if ($product_data->rebatefrom[$i] > 0) $template->loop('rebates', array( 'from' => $product_data->rebatefrom[$i], 'price' => $product_data->rebateprice[$i], 'i' => $i, 'formatted_price' => format::price($product_data->rebateprice[$i], CC_SITE_CURRENCY), )); // Priceinfo if ($product_data->priceinfo) { $priceinfotext = $product_data->priceinfo; // Ecotax-Anpassung Frankreich if ($product_data->ecotax && $product_data->ecotaxamount) $priceinfotext .= '
'.$ecotaxpriceinfotext; if ($product_data->basefactor) { $basepriceinfo = $product_data->basepriceinfo; $basepriceinfo = str_replace('[p]', format::price($product_data->price * $product_data->basefactor, CC_SITE_CURRENCY), $basepriceinfo); $priceinfotext .= '
'.$basepriceinfo; } } else { // Ecotax Anpassung Frabnkreich if ($product_data->ecotax && $product_data->ecotaxamount) $priceinfotext = $ecotaxpriceinfotext; } } // Produktkonfiguration if ($product_data->has_configuration) { foreach($product_data->configuration as $special) { $template->loop('special', array( 'caption' => $special->caption, 'text' => $special->type == PRODUCT_CONFIG_TEXT, 'combo' => $special->type == PRODUCT_CONFIG_COMBO, 'checkbox' => $special->type == PRODUCT_CONFIG_CHECK, 'number' => $special->number, 'maxlength' => $special->type == PRODUCT_CONFIG_TEXT && $special->maxlength ? $special->maxlength : '', 'price' => $special->type == PRODUCT_CONFIG_CHECK ? $special->price : null, )); if ($special->type == PRODUCT_CONFIG_COMBO) foreach($special->options_caption as $number => $caption) $template->loop('option'.$special->number, array( 'number' => $number, 'price' => $special->options_price[$number], 'caption' => $caption, )); } } // Kombinationsprodukte if (count($product_data->related)) { $template->show('related'); foreach($product_data->related as $related->product) $template->loop('related', array(), $related->product); } if ($product_data->priceinfo) $template->show('priceinfo'); if (!$product_data->variations && !$product_data->status) $template->show('statusna'); if ($product_data->has_configuration) $template->show('configuration'); if ($product_data->variations) { $template->show('variations'); if ($product_data->variations == 1) $template->show('one_variation'); if ($product_data->variations == 2) $template->show('two_variations'); } // ProtectDisc Hinweis if (is_get(PARAMETER_VIEW) && get(PARAMETER_VIEW) == 'pd') $template->show('viewpd'); $template->assign(array( '_productidtext' => isset($productidtext) ? $productidtext : '', '_sale' => isset($sale) ? $sale : '', '_priceinfo' => $product_data->priceinfo, '_priceinfotext' => isset($priceinfotext) ? $priceinfotext : '', '_formatted_price' => format::price($product_data->price, CC_SITE_CURRENCY), '_uid' => $product_data->uid, '_weightinfotext' => $product_data->weight && CC_SITE_SHOWWEIGHT ? '
'.CC_RESSOURCE_WEIGHT.': '.$product_data->weight.' '.CC_SITE_WEIGHTUNIT : '', '_price' => $product_data->variations ? 0 : $product_data->price, '_mailcaption' => html_entity_decode($product_data->mailcaption).'', '_formatted_quantity' => format::quantity($product_data->defaultquantity, $product_data->qprecision), '_quantity_size' => (5 + ($product_data->qprecision ? 1 : 0) + $product_data->qprecision) * 7, '_quantity_maxlength' => 4 + ($product_data->qprecision ? 1 : 0) + $product_data->qprecision, '_unit' => $product_data->unit, '_specialcount' => $product_data->has_configuration ? count($product_data->configuration) : 0, '_defaulta' => $product_data->defaulta, '_defaultb' => $product_data->defaultb, '_attributeacaption' => $product_data->attributeacaption, '_attributebcaption' => $product_data->attributebcaption, '_ecotax' => $product_data->ecotax ? 1 : 0, '_ecotaxamount' => $product_data->ecotax ? $product_data->ecotaxamount : null, '_ecotaxpriceinfotext' => $product_data->ecotax ? $product_data->ecotaxpriceinfotext : null, '_basepriceinfo' => $product_data->basepriceinfo.'', '_basefactor' => $product_data->basefactor, '_readonly' => $product_data->esd ? 'readonly="readonly"' : '', )); $template->out(); ?>