Menu Content

Joomla rozšíření

> Choose one to see more info

Zpět

Jak zakázat emaily a faktury za objednávky z VirtueMartu

Last revised:
Středa, 24 Květen 2017

Answer

Vzhledem k tomu, že VM Invoice vytváří e-maily za objednávky z internetového obchodu VirtueMart, můžete toto výchozí nastavení ve VirtueMartu zakázat.

Bohužel, jediný způsob jak to provést, je úprava zdrojového kódu VM.

Pokud máte VirtueMArt  1.x.x, zkuste toto:

http://www.chillcreations.com/blog/22-joomla/302-no-virtuemart-order-confirmation-e-mail.html

Pokud máte VirtueMart 2.0.22 nebo 3.x a novější PDF faktury

Aby nedocházelo k tomu, že zákazník obdrží faktury také z VM2, je nutné nejprve vytvořit fiktivní stav objednávky ve VirtueMartu -> Order Statuses  nazvat ho např. "No Invoice", a přiřaďte jej do "Default Order Status to create an invoice" ve VirtueMartu -> Configuration -> Checkout settings. Tímto způsobem nebude faktura vytvořena.

Pokud nechcete, aby zákazníkům přišel jakýkoli e-mail z VirtueMartu, nastavte stav, který jste vytvořili v předchozím kroku  "No Invoice", také do "Default Order Status to send email to shopper" ve  VirtueMartu -> Configuration -> Checkout settings.

Pokud máte VirtueMart 2.x.x nebo starší verzi než je 2.0.22:

  1. otevřte soubor JOOMLA_ROOT/components/com_virtuemart/helpers/shopfunctionsf.php

    najděte řádek 243 (může se lišit podle verze VM)
    důležité je, nahradit řádek

    $user= self::sendVmMail($view, $recipient,$noVendorMail);

    s

    //edied: ARTIO: disable initial e-mail to customer. send only to vendor.
    if ($viewName=='invoice' AND in_array($vars['orderDetails']['details']['BT']->order_status, array('P','U')))
     $user = null;
    else
     $user= self::sendVmMail($view, $recipient,$noVendorMail);

  2. otevřte soubor JOOMLA_ROOT /administrator/components/com_virtuemart/models/orders.php
    najděte řádek 1290  (může se lišit podle verze VM)

    a nahraďte

    // Send the email
    if (shopFunctionsF::renderMail('invoice', $order['details']['BT']->email, $vars, null,$vars['doVendor'])) {
    ...


    s

    // Send the email
    $res = shopFunctionsF::renderMail('invoice', $order['details']['BT']->email, $vars, null,$vars['doVendor']);
    if ($res===null) //edited: ARTIO: when sent to customer disabled, dont display message.
    return true;

    if ($res) {

Tato volba zakáže původní emaily "pending order". Nicméně, zákazník obdrží e-maily, pokud budete kontrolovat možnost "notify customer", když dojde ke změně stavu objednávky. Pokud chcete zakázat e-maily i pro jiné stavy, nekontrolujte volbu „notify customer“ nebo editujte podmínku v bodě 1 jako je:  


 … array('P','U' /* other statuses: */, 'P','S') ...

 

Jak povolit zasílání faktur z VM Invoice:

nastavte "Automatic" režim v globálním nastavení --> General configuration a také povolte "VM Invoice Autorun" plugin nebo nastavte cron (postup je pospán v dokumentaci v bodě 4.1).

 

 

kategorie

Tags for this item

Přihlášení uživatele Prázdný