bei einigen Produkten möchte ich auch die Seriennummer auf die Rechnung bringen. Hierzu muss man die Seriennummer zuerst in der Bestellansicht angeben.
Ich habe das jetzt bei der 3.3.9er Version so gelöst:
1. In der Tabelle <wp-präfix>wpsg_order_products eine weitere Spalte "s_nr" eingefügt.
2. in der /wp-content/uploads/wpsg/user_views/order/view.phtml hinter:
Code: Alles auswählen
<td class="wpsg_cell_gesamtpreis"><?php echo wpsg_ff($p['menge'] * $p['preis']); ?> <?php echo $this->get_option('wpsg_currency'); ?></td>
</tr>
Code: Alles auswählen
<?php /* s_nr Block Beginn, am Ende der Tabelle wird die DB-Verbindung wieder geschlossen */ ?>
<?php $verbindung = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db(DB_NAME) or die ("Die Datenbank existiert nicht.");?>
<tr>
<td colspan="<?php echo $this->view['colspan']; ?>" class="xxx">
<?php /*DB-Update*/ if (isset($_POST['s_nr'.$p['id']])) { mysql_query("UPDATE ".WPSG_TBL_ORDERPRODUCT." SET s_nr ='".$_POST['s_nr'.$p['id']]."' WHERE o_id='".$this->view['data']['id']."' AND p_id='".$p['id']."'"); } else { /*echo "kein update"*/; } ?>
<form id="s_nr_update_prod_id<?php echo $p['id']; ?>" action="<?php echo "admin.php?page=wpsg-Order&action=view&edit_id=".$_REQUEST['edit_id']; ?>" method="POST">
<datalist id="s_nr<?php echo $p['id']; ?>">
<?php // SQL Abfrage um die unterschiedlichen Seriennummern zu finden (GROUP BY)
$sql = "SELECT `s_nr` FROM ".WPSG_TBL_ORDERPRODUCT." WHERE `p_id` = ".$p['id']." GROUP BY `s_nr`";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['s_nr'].'">';
}
?>
</datalist>
<input list="s_nr<?php echo $p['id']; ?>" name="s_nr<?php echo $p['id']; ?>" type="text" value="<?php echo mysql_result(mysql_query("SELECT `s_nr` FROM `".WPSG_TBL_ORDERPRODUCT."` WHERE `o_id` =".$this->view['data']['id']." AND `p_id` =".$p['id']),0); ?>" size="40" maxlength="80">
<input type="submit" value=" Absenden "> <input type="reset" value=" Abbrechen">
</form>
</td>
</tr>
<?php /* s_nr Block Ende */ ?>
3. In der gleichen Datei dann noch am Ende der Tabelle die Datenbankverbindung geschlossen:
Code: Alles auswählen
</table>
<?php mysql_close($verbindung); // die oben aufgebaute DB-Verbindung wird wieder geschlossen ?>
Suche in der Datei wp-content/uploads/wpsg/user_views/mods/mod_rechnungen/rechnung_pdf.phtml nach:
Code: Alles auswählen
$produkt_text_width = $pdf->GetStringWidth($produkt_text);
//$produkt_text_cell_width = (($this->arMwSt == "-1")?87:102);
Code: Alles auswählen
// Beginn der s_nr Ausgabe
$verbindung = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db(DB_NAME) or die ("Die Datenbank existiert nicht.");
$s_nr_text = mysql_result(mysql_query("SELECT `s_nr` FROM `".WPSG_TBL_ORDERPRODUCT."` WHERE `o_id` =".$this->view['data']['id']." AND `p_id` =".$p['id']),0);
mysql_close($verbindung); //JN die oben aufgebaute DB-Verbindung wird wieder geschlossen
if ($p['id']){
$produkt_text .= "\n".$s_nr_text; //s_nr angehängt
}
// Ende der s_nr Ausgabe
5. Lieferschein anpassen
Suche in der Datei /wp-content/uploads/wpsg/user_views/mods/mod_deliverynote/deliverynote_pdf.phtml
Code: Alles auswählen
global $absender_left, $absender_top, $adress_left, $adress_top, $dndata_left, $dndata_top;
Code: Alles auswählen
global $absender_left, $absender_top, $adress_left, $adress_top, $dndata_left, $dndata_top, $bestell_id;
Suche nach
Code: Alles auswählen
$pdf->Text($rdata_left + 170, $dndata_top + 6, wpsg_formatTimestamp($shop->view['lDatum'], true));
if ($shop->view['oOrder']->isInnerEu())
Code: Alles auswählen
$pdf->Text($rdata_left + 170, $dndata_top + 6, wpsg_formatTimestamp($shop->view['lDatum'], true));
$bestell_id = $shop->view['order']['id'];
if ($shop->view['oOrder']->isInnerEu())
Suche nach
Code: Alles auswählen
foreach ($this->view['data']['products'] as $p)
Code: Alles auswählen
// JN Datenbankverbindung öffnen für s_nr Ausgabe
$verbindung = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db(DB_NAME) or die ("Die Datenbank existiert nicht.");
foreach ($this->view['data']['products'] as $p)
Suche nach
Code: Alles auswählen
$produkt_text = $p['name'];
Code: Alles auswählen
$s_nr_text = mysql_result(mysql_query("SELECT `s_nr` FROM `".WPSG_TBL_ORDERPRODUCT."` WHERE `o_id` =".$bestell_id." AND `p_id` =".$p['p_id']),0);
$produkt_text = $p['name']; //Originalzeile
$produkt_text .= "\n".$s_nr_text;
Suche nach
Code: Alles auswählen
$offset += 5;
Code: Alles auswählen
mysql_close($verbindung); // Datenbankverbindung schließen für s_nr Ausgabe
$offset += 5;