PrestaShop - Как добавить переменную в шаблон электронной почты - PullRequest
1 голос
/ 29 мая 2019

Я недавно приобрел модуль обзора для PrestaShop 1.7.5.

Я хотел бы добавить номер телефона клиента в сообщение, отправленное модулем.Но техподдержка сказала мне, что настройки не покрываются поддержкой модулей, я должен сделать это сам.

Итак, я пытаюсь сделать это сам.

Я нашел код переменной шаблона в LGMailer.php:

    $template_vars = array(
        '{firstname}' => $order['firstname'],
        '{lastname}'  => $order['lastname'],
        '{storename}' => Configuration::get('PS_SHOP_NAME'),
        '{email}'     => $order['email'],
        '{id_order}'  => $order['id_order'],
        '{link}'      => $link,
        '{product_details}' => $products
    );

    return $template_vars;

, так как хочу добавить измененный телефон клиентаэто так:

     $template_vars = array(
        '{firstname}' => $order['firstname'],
        '{lastname}'  => $order['lastname'],
        '{storename}' => Configuration::get('PS_SHOP_NAME'),
        '{email}'     => $order['email'],
        '{phone_mobile}'     => $order['phone_mobile'],        (Added this line)
        '{id_order}'  => $order['id_order'],
        '{link}'      => $link,
        '{product_details}' => $products
    );

    return $template_vars;
}

Но, похоже, это не работает.

Может кто-нибудь сказать мне, что я делаю неправильно?прикрепленный файл php.

1 Ответ

0 голосов
/ 30 мая 2019

Метод getTemplateVars() из вашего модуля вызывается в файле cron.php и использует getOrders() из класса LGMailer для получения заказов, по которым будут отправляться электронные письма.

Если вы внимательно посмотрите на этот метод, вы увидите, что он не выбирает столбец мобильного телефона, вам нужно добавить его.

Отредактируйте метод getOrders() в LGMailer.php:

Сначала добавьте пропущенный столбец

$query->select('a.`phone_mobile`');

Затем добавьте операторную базу JOIN по адресу доставки

$query->leftJoin('address', 'a', 'o.`id_address_delivery` = a.`id_address`');

Наконец

Не забудьте добавить {phone_mobile} внутри opinion-request.html (который вы забыли прикрепить к своему вопросу).

Надеюсь, это поможет!

...