PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.7.0
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.7.0
1.7.0 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 All 50 releases
← All changes | app/Services/Payments/PaymentReceipt.php +7 -3 1.3.21 → 1.7.0 View file →
@@ -1,8 +1,9 @@
1 1 <?php
2 2
3 3 namespace FluentCart\App\Services\Payments;
4 4
5 +use FluentCart\App\Helpers\Helper;
5 6 use FluentCart\Api\CurrencySettings;
6 7 use FluentCart\App\Helpers\ProductAdminHelper;
7 8 use FluentCart\App\Models\ProductVariation;
8 9 use FluentCart\App\Services\OrderService;
@@ -138,11 +139,14 @@
138 139
139 140 foreach ($orderItems as $key => &$item) {
140 141
141 142 $variant = $variantMap->firstWhere('id', $item['object_id']);
142 - $mediaUrl = Vite::getAssetUrl('images/placeholder.svg');
143 + // Receipts travel into emails and PDFs, where WebP is not safe
144 + // (Outlook), so an image-less item gets the PNG placeholder.
145 + $mediaUrl = '';
143 146 if ($variant) {
144 - $mediaUrl = $variant->thumbnail ?: (new ProductAdminHelper())->getFeaturedMedia($variant->product_detail->featured_media);
147 + $detail = $variant->product_detail;
148 + $mediaUrl = $variant->thumbnail ?: ($detail ? Arr::get((array) $detail->featured_media, 'url', '') : '');
145 149 //Image Check Test
146 150 //$mediaUrl = Arr::get($variant->media, 'meta_value.0.url', (new ProductAdminHelper())->getFeaturedMedia($variant->product_detail->featured_media));
147 151 }
148 152
@@ -147,9 +151,9 @@
147 151 }
148 152
149 153 Arr::set(
150 154 $this->order, 'order_items.' . $key . '.media_url',
151 - $mediaUrl
155 + $mediaUrl ?: Helper::getProductPlaceholderEmailUrl()
152 156 );
153 157
154 158 Arr::set(
155 159 $this->order,