Virtuemart 2 - přidání emailové adresy a přílohy mailu pro potvrzení nákupu

Při nastavování obchodu na bázi Virtuemart 2 měl zákazník požadavek, aby se potvrzovací email provedené objednávky zasílal i na další emailovou adresu (nejen adresu prodejce). Bohužel to nejde udělat přímo v administraci a musí se zmodifikovat core soubory. Jedná se de facto ale jen o přidání jednoho řádku, takže zas tak složité to není. Navíc je takto možné vyřešit i zaslání přílohy (např. obchodnícj podmínek) v mailu.

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.

 

Jmenuji se Radek Pelikán, bydlím v Ledči nad Sázavou. Mám 3 krásné děti.

Mezi mé velké koníčky patří desková hra Go a nově jsem začal cvičit Kendó v Ledči nad Sázavou.