В Drupal Commerce 1 существует токен [commerce-order:commerce_line_items], который формируется из Views /admin/structure/views/view/commerce_line_item_table/edit
С помощью этого токена можно добавить к письму получаемому покупателем список заказанных товаров. Проблема в том, что выглядит этот список просто отвратительно.

Решением адекватного отображения товаров в присылаемом письме может быть замена токена на PHP код, который нужно добавить в правило(rule) /admin/config/workflow/rules/reaction/manage/commerce_checkout_order_email/edit/3 (в поле The mail's message body.)

<?php
$commerce_order_wrapper = entity_metadata_wrapper('commerce_order', $commerce_order);
$line_item_types = commerce_product_line_item_types();
foreach ($commerce_order_wrapper->commerce_line_items as $line_item) {
    if (!in_array($line_item->type->value(), $line_item_types)) continue;

    $title = $line_item->commerce_product->title->value();
    $quantity = round($line_item->quantity->value(), 0) . " шт.";
    $unit_amount = $line_item->commerce_unit_price->amount_decimal->value();
    $currency = ($line_item->commerce_unit_price->currency_code->value() == 'RUB') ? 'руб.' : $line_item->commerce_unit_price->currency_code->value();
    $units_price = round($line_item->quantity->value(), 0) * $unit_amount;

    echo format_string("– @title\n@quantity (@unit_amount @currency за 1 шт.)\nНа сумму: @units_price @currency", [
        '@title'        => $title,
        '@quantity'     => $quantity,
        '@unit_amount'  => $unit_amount,
        '@currency'     => $currency,
        '@units_price'  => $units_price,
    ]) . "\n\n";
}
?>

Автор решения Отправить в письме к заказу список товаров (Commerce), я лишь немного модифицировал его.


Выразить благодарность

Если эта публикация оказалась для Вас полезной и вы хотите выразить свою благодарность, сделайте пожалуйста её репост в социальных сетях или на своём сайте.

Так же, Вы можете перевести любую сумму, которую посчитаете нужной на наш счёт, что сильно мотивирует к написанию новых полезных статей.

Комментарии: