Dopo un po'di modifiche, finalmente riesco a gestire i prezzi d'acquisto dei prodotti.
Cioè non il prezzo di vendita, ma il costo d'acquisto al fornitore (o costo di produzione).
Spiego le modifiche.
Nella tabella "jos_vm_product" ho aggiunto i seguenti campi
- 'product_cost' (decimal)
- 'product_currency_cost' (char)
Ha la stessa struttura di 'product_currency' in "jos_vm_product_price" - scrive il codice della valuta - che corrisponde a 'currency_code' in "jos_vm_currency"
- 'product_cost_eur' (decimal)
Ho modificato il file "product.product_form.php" per poter gestire i campi (solo dal backend).
Quindi adesso posso gestire:
- Costo in Valuta (inserisco il costo nel campo)
- Valuta (che seleziono dalla lista delle valute)
- Costo in Euro (inserisco il costo in euro, ma vorrei che venisse calcolato automaticamente)
I campi funzionano bene (ho aggiornato anche le classi... e salvando, scrivono nel database)
...e fin qui tutto ok!
Poi nella tabella "jos_vm_currency" ho aggiunto il campo
- 'currency_exchange' (decimal)
Anche per questo ho fatto un po' di modifiche per gestire il campo dal backend (una faticata... non sono programmatore e non conosco il php, solo deduzioni e copia e incolla)
Adesso avrei bisogno di un aiuto con il codice, per finire di modificare "product.product_form.php"
Vorrei legare questo campo con il Costo in Euro e il Costo in Valuta, cioè aggiungere questa funzione:
far calcolare automaticamente il Costo in Euro quando inserisco il Costo in Valuta
(Una funzione simile a onkeyup="updateGross();" che fa aggiornare il prezzo di listino incluso iva, quando inserisci il prezzo netto - e viceversa)
es:
se un prodotto ha ("jos_vm_product")
- Costo in Valuta = 1200,00 ('product_cost')
- Valuta = USD ('product_currency_cost')
Allora il
- Costo in Euro = 1000 ('product_cost_eur')
La funzione dovrebbe mettere in relazione:
"jos_vm_currency"->'currency_code' USD = 'currency_exchange' = 1,2
-> "jos_vm_product" -> 'product_currency_cost' = USD e 'product_cost' = 1200,00
-> 1200/1,2 = 1000
(cioè il Costo in Valuta / rapporto di Cambio = Costo in Euro)
Vi posto qui sotto il codice che ho aggiunto a sito://administrator/components/com_virtuemart/html/
"product.product_form.php"
]
('PHPSHOP_MULTISELECT') ) ?></div>
</td>
<td width="71%" ><?php
$ps_product_category->list_all("product_categories[]", "", $my_categories, 10, false, true);
?>
</td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
</td>
<td>
//INIZIO CODICE AGGIUNTO
<table class="adminform">
<tr class="row1">
<td width="25%"><div style="text-align:right;font-weight:bold;">
<?php echo $VM_LANG->_('PHPSHOP_PRODUCT_FORM_COST_NET') ?>:</div>
</td>
<td width="10%">
<input type="text" class="inputbox" name="product_cost" value="<?php $db->sp("product_cost"); ?>" size="10" maxlength="10" />
</td>
<td><div style="text-align:right;font-weight:bold;">
<?php
echo $VM_LANG->_( 'PHPSHOP_PRICE_FORM_CURRENCY' ) ?>:</div>
</td>
<td>
<?php
$ps_html->list_currency( "product_currency_cost", $db->sf( "product_currency_cost" ) ) ?>
</td>
</tr>
<tr class="row0">
<td width="25%"><div style="text-align:right;font-weight:bold;">
<?php
echo $VM_LANG->_( 'PHPSHOP_PRODUCT_FORM_COST_NET_EUR' ) ?>:</div>
</td>
<td width="10%">
<input type="text" class="inputbox" name="product_cost_eur" value="<?php $db->sp("product_cost_eur"); ?>" size="10" maxlength="10" />
</td>
</tr>
</table>
//FINE CODICE AGGIUNTO
<table class="adminform">
<tr class="row0">
<td width="29%" ><div style="text-align:right;font-weight:bold;">
<?php echo $VM_LANG->_('PHPSHOP_PRODUCT_FORM_PRICE_NET') ?>:</div>
(Dimenticavo) VM 1.1.8 stabile