Hallo
Möchte hier auf einen kleinen Fehler hinweisen, der beim bearbeiten der Sonderangebote auftritt.
Datei: admin/includes/module/categories_specials.php
Das Problem tritt auf wenn in der Shop-Einstellung -> Brutto Admin = true gesetzt ist.
Und zwar wird in der specials.php im input Feld "products_price" der Wert in Netto übergeben.
Bei der Artikel-Bearbeitung und brutto=true wird der Preis somit in Brutto übergeben.
Der Preis wird falsch berechnet. Kann man in der Demo testen.
Es wird noch ein weiteres verstecktes input Feld benötigt (specials_products_price),
um den Preis in Netto zu übergeben wie in der specials.php gemacht wird.
Folgende Änderungen in der Datei beheben das Problem:
admin/includes/module/categories_specials.php
Zeile 85 suchen:if(isset($_GET['pID']) and xtc_db_num_rows
($specials_query, true) > 0) echo xtc_draw_hidden_field
('specials_id', $sInfo->specials_id); Danach folgendes hinzufügen: (Input mit Netto Preis übergeben) if(isset($_GET['pID']) and xtc_db_num_rows
($specials_query, true) > 0) echo xtc_draw_hidden_field
('specials_products_price', $sInfo->products_price); Zeile ca. 234 suchen:$_POST['specials_price'] = ($_POST['products_price'] - (($_POST['specials_price'] / 100) * $_POST['products_price']));
Ersetzen durch:$_POST['specials_price'] = ($_POST['specials_products_price'] - (($_POST['specials_price'] / 100) * $_POST['specials_products_price']));
//$_POST['specials_price'] = ($_POST['products_price'] - (($_POST['specials_price'] / 100) * $_POST['products_price']));
Außerdem lässt sich der Status nicht verändern.Diese kleine erweiterung fügt eine checkbox hinzu.
Suche Zeile 132 & 133: <td class="main"><?php echo xtc_draw_input_field('specials_quantity', $sInfo->specials_quantity, 'style="width: 135px"');?> </td>
<td class="main"> </td>
Ersetzen mit:<td class="main"><?php echo xtc_draw_input_field('specials_quantity', $sInfo->specials_quantity, 'style="width: 135px"');?> </td>
<td class="main"><?php echo xtc_draw_selection_field('specials_status', 'checkbox', '1',$sInfo->status==1 ? true : false); ?> Status Aktiv</td>
Zusätzlich wenn man nicht möchte das bei Anzahl 0 beim Bestellprozess das Sonderangebot deaktiviert wird hilft folgende Änderung:Datei: checkout_process.php
Zeile ca 230:
if ($new_sp_quantity >= 1) {
xtc_db_query("update ".TABLE_SPECIALS." set specials_quantity = '".$new_sp_quantity."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."' ");
} else {
xtc_db_query("update ".TABLE_SPECIALS." set status = '0', specials_quantity = '".$new_sp_quantity."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."' ");
}
Ersetzen durch:
if ($new_sp_quantity >= 1) {
xtc_db_query("update ".TABLE_SPECIALS." set specials_quantity = '".$new_sp_quantity."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."' ");
} else {
xtc_db_query("update ".TABLE_SPECIALS." set specials_quantity = '".$new_sp_quantity."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."' ");
//xtc_db_query("update ".TABLE_SPECIALS." set status = '0', specials_quantity = '".$new_sp_quantity."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."' ");
}
Das sollte die kleinen Fehler beseitigen.
Viel Spaß damit
Linkback: https://www.modified-shop.org/forum/index.php?topic=19939.0