Virtuemart 2 - přidání emailové adresy a přílohy mailu pro potvrzení nákupu
Největší fuška ale bylo samozřejmě najít, který php soubor zmodifikovat. Jako nejlepší mi připadalo zmodifikovat funkci sendVmMail() , která se nachází v souboru /components/com_virtuemart/helpers/shopfunctionsf.php
od cca řádku 339 je tato zvláštní podmínka:
if(!$noVendorMail) {
$replyto[0] = $view->vendorEmail;
$replyto[1] = $view->vendor->vendor_name;
$mailer->addReplyTo( $replyto );
}
řekl bych, že se jedná o podmínku, zda se zpráva zasílá prodejci. A protož právě tuto zprávu chceme zaslat i na další adresu, strčíme do podmínky řádek navíc a celý kód bude vypadat takto:
if(!$noVendorMail) {
$replyto[0] = $view->vendorEmail;
$replyto[1] = $view->vendor->vendor_name;
$mailer->addReplyTo( $replyto );
$mailer->addRecipient( "Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript." ); //přidání adresy, tento řádek byl přidán
$mailer->addAttachment($_SERVER['DOCUMENT_ROOT']."/vmfiles/invoices/vminvoice_".$view->orderDetails['details']['BT']->order_number.".pdf"); //případně přidání přílohy
}
Takto můžeme samozřejmě přidat libovolné množství doručovacích adres.
Ještě poznámka k dalšímu souboru týkající se odesílání objednávek, je to soubor /administrator/components/com_virtuemart/models/orders.php , jiný problém by se možná dal řešit přímo v něm a ne v souboru /components/com_virtuemart/helpers/shopfunctionsf.php , ale v tomto případě mi připadalo vhodnější modifikovat až konečnou funkci.