diff --git a/vendor/magento/module-gift-card/Model/GetGiftCardEmailUrl.php b/vendor/magento/module-gift-card/Model/GetGiftCardEmailUrl.php new file mode 100644 index 000000000000..094c5a61d08d --- /dev/null +++ b/vendor/magento/module-gift-card/Model/GetGiftCardEmailUrl.php @@ -0,0 +1,52 @@ +urlBuilder->getUrl( + 'magento_giftcardaccount/customer', + ['giftcard' => $code, '_scope' => $storeId, '_nosid' => true] + ); + } +} diff --git a/vendor/magento/module-gift-card/Model/GiftCardItemEmail.php b/vendor/magento/module-gift-card/Model/GiftCardItemEmail.php index c3364677db6a..7111ce574b16 100644 --- a/vendor/magento/module-gift-card/Model/GiftCardItemEmail.php +++ b/vendor/magento/module-gift-card/Model/GiftCardItemEmail.php @@ -1,7 +1,21 @@ localeCurrency = $localeCurrency; $this->transportBuilder = $transportBuilder; $this->giftCardData = $giftCardData; $this->scopeConfig = $scopeConfig; + $this->getGiftCardEmailUrl = $getGiftCardEmailUrl ?: ObjectManager::getInstance() + ->get(GetGiftCardEmailUrl::class); } /** @@ -66,10 +92,13 @@ public function __construct( * * @param OrderItem $giftCardOrderItem * @param array $codes + * @param int $generatedCodesCount * @param int $isRedeemable * @param float|null $amount - * @param int $generatedCodesCount * @return void + * @throws CurrencyException + * @throws LocalizedException + * @throws MailException */ public function send( OrderItem $giftCardOrderItem, @@ -91,7 +120,8 @@ public function send( ->setCodes($codes) ->setArea(Area::AREA_FRONTEND) ->setIsRedeemable($isRedeemable) - ->setStore($giftCardOrderItem->getStore()); + ->setStore($giftCardOrderItem->getStore()) + ->setHelper($this->getGiftCardEmailUrl); $baseCurrencyCode = $giftCardOrderItem->getStore() ->getBaseCurrencyCode(); diff --git a/vendor/magento/module-gift-card/view/frontend/templates/email/generated.phtml b/vendor/magento/module-gift-card/view/frontend/templates/email/generated.phtml index b1b0e7afc2f5..5d19807fecfa 100644 --- a/vendor/magento/module-gift-card/view/frontend/templates/email/generated.phtml +++ b/vendor/magento/module-gift-card/view/frontend/templates/email/generated.phtml @@ -1,22 +1,44 @@ -getCodes(); ?> -getIsRedeemable(); ?> +/** @var Generated $block */ +/** @var Escaper $escaper */ +/** @var GetGiftCardEmailUrl $giftCardEmailUrlHelper */ + +use Magento\Framework\Escaper; +use Magento\GiftCard\Block\Generated; +use Magento\GiftCard\Model\GetGiftCardEmailUrl; - - - - - escapeHtml($_code)?> +$getGiftCardEmailUrl = $block->getData('helper'); +$storeId = $block->getStoreId() ?? $block->getStore()->getStoreId(); +?> +getCodes();?> +getIsRedeemable();?> + + + + + escapeHtml($_code)?> - - escapeHtml($_code) ?> + + escapeHtml($_code) ?>