Skip to content

Commit e18763f

Browse files
Merge branch '2.4-develop' into PR-02-11-2025
2 parents 30436ff + 1d33c93 commit e18763f

File tree

9 files changed

+234
-68
lines changed

9 files changed

+234
-68
lines changed

app/code/Magento/Catalog/Helper/Product/View.php

+3
Original file line numberDiff line numberDiff line change
@@ -178,16 +178,19 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu
178178
if ($params && $params->getBeforeHandles()) {
179179
foreach ($params->getBeforeHandles() as $handle) {
180180
$resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false);
181+
$resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false);
181182
$resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle);
182183
}
183184
}
184185

185186
$resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false);
187+
$resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], null, false);
186188
$resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku]);
187189

188190
if ($params && $params->getAfterHandles()) {
189191
foreach ($params->getAfterHandles() as $handle) {
190192
$resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false);
193+
$resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false);
191194
$resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle);
192195
}
193196
}

app/code/Magento/Customer/view/frontend/templates/address/book.phtml

+26-19
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,67 @@
11
<?php
22
/**
3-
* Copyright © Magento, Inc. All rights reserved.
4-
* See COPYING.txt for license details.
3+
* Copyright 2017 Adobe
4+
* All Rights Reserved.
55
*/
66

77
/** @var \Magento\Customer\Block\Address\Book $block */
8+
/** @var \Magento\Framework\Escaper $escaper */
89
?>
910
<div class="block block-addresses-default">
10-
<div class="block-title"><strong><?= $block->escapeHtml(__('Default Addresses')) ?></strong></div>
11+
<div class="block-title"><strong><?= $escaper->escapeHtml(__('Default Addresses')) ?></strong></div>
1112
<div class="block-content">
12-
<?php if ($_pAddsses = $block->getDefaultBilling()) : ?>
13+
<?php if ($defaultBillingAddress = $block->getDefaultBilling()): ?>
1314
<div class="box box-address-billing">
1415
<strong class="box-title">
15-
<span><?= $block->escapeHtml(__('Default Billing Address')) ?></span>
16+
<span><?= $escaper->escapeHtml(__('Default Billing Address')) ?></span>
1617
</strong>
1718
<div class="box-content">
1819
<address>
19-
<?= $block->getAddressHtml($block->getAddressById($_pAddsses)) ?>
20+
<?= $block->getAddressHtml($block->getAddressById($defaultBillingAddress)) ?>
2021
</address>
2122
</div>
2223
<div class="box-actions">
23-
<a class="action edit" href="<?= $block->escapeUrl($block->getAddressEditUrl($_pAddsses)) ?>">
24-
<span><?= $block->escapeHtml(__('Change Billing Address')) ?></span>
24+
<a class="action edit"
25+
href="<?= $escaper->escapeUrl($block->getAddressEditUrl($defaultBillingAddress)) ?>">
26+
<span><?= $escaper->escapeHtml(__('Change Billing Address')) ?></span>
2527
</a>
2628
</div>
2729
</div>
28-
<?php else : ?>
30+
<?php else: ?>
2931
<div class="box box-billing-address">
30-
<strong class="box-title"><span><?= $block->escapeHtml(__('Default Billing Address')) ?></span></strong>
32+
<strong class="box-title">
33+
<span><?= $escaper->escapeHtml(__('Default Billing Address')) ?></span>
34+
</strong>
3135
<div class="box-content">
32-
<p><?= $block->escapeHtml(__('You have no default billing address in your address book.')) ?></p>
36+
<p><?= $escaper->escapeHtml(__('You have no default billing address in your address book.')) ?></p>
3337
</div>
3438
</div>
3539
<?php endif ?>
3640

37-
<?php if ($_pAddsses = $block->getDefaultShipping()) : ?>
41+
<?php if ($defaultShippingAddress = $block->getDefaultShipping()): ?>
3842
<div class="box box-address-shipping">
3943
<strong class="box-title">
40-
<span><?= $block->escapeHtml(__('Default Shipping Address')) ?></span>
44+
<span><?= $escaper->escapeHtml(__('Default Shipping Address')) ?></span>
4145
</strong>
4246
<div class="box-content">
4347
<address>
44-
<?= $block->getAddressHtml($block->getAddressById($_pAddsses)) ?>
48+
<?= $block->getAddressHtml($block->getAddressById($defaultShippingAddress)) ?>
4549
</address>
4650
</div>
4751
<div class="box-actions">
48-
<a class="action edit" href="<?= $block->escapeUrl($block->getAddressEditUrl($_pAddsses)) ?>">
49-
<span><?= $block->escapeHtml(__('Change Shipping Address')) ?></span>
52+
<a class="action edit"
53+
href="<?= $escaper->escapeUrl($block->getAddressEditUrl($defaultShippingAddress)) ?>">
54+
<span><?= $escaper->escapeHtml(__('Change Shipping Address')) ?></span>
5055
</a>
5156
</div>
5257
</div>
53-
<?php else : ?>
58+
<?php else: ?>
5459
<div class="box box-shipping-address">
55-
<strong class="box-title"><span><?= $block->escapeHtml(__('Default Shipping Address')) ?></span></strong>
60+
<strong class="box-title">
61+
<span><?= $escaper->escapeHtml(__('Default Shipping Address')) ?></span>
62+
</strong>
5663
<div class="box-content">
57-
<p><?= $block->escapeHtml(__('You have no default shipping address in your address book.')) ?></p>
64+
<p><?= $escaper->escapeHtml(__('You have no default shipping address in your address book.')) ?></p>
5865
</div>
5966
</div>
6067
<?php endif ?>

app/code/Magento/Customer/view/frontend/templates/address/grid.phtml

+66-33
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,112 @@
11
<?php
22
/**
3-
* Copyright © Magento, Inc. All rights reserved.
4-
* See COPYING.txt for license details.
3+
* Copyright 2017 Adobe
4+
* All Rights Reserved.
55
*/
66

77
/** @var \Magento\Customer\Block\Address\Grid $block */
8+
/** @var \Magento\Framework\Escaper $escaper */
89
$customerAddressView = $block->getData('customer_address');
910
?>
1011

1112
<div class="block block-addresses-list">
12-
<div class="block-title"><strong><?= $block->escapeHtml(__('Additional Address Entries')) ?></strong></div>
13+
<div class="block-title"><strong><?= $escaper->escapeHtml(__('Additional Address Entries')) ?></strong></div>
1314
<div class="block-content">
14-
<?php if ($_pAddsses = $block->getAdditionalAddresses()) : ?>
15-
15+
<?php if ($additionalAddresses = $block->getAdditionalAddresses()): ?>
1616
<div class="table-wrapper additional-addresses">
1717
<table class="data table table-additional-addresses-items history" id="additional-addresses-table">
18-
<caption class="table-caption"><?= $block->escapeHtml(__('Additional addresses')) ?></caption>
18+
<caption class="table-caption"><?= $escaper->escapeHtml(__('Additional addresses')) ?></caption>
1919
<thead>
2020
<tr>
21-
<th scope="col" class="col firstname"><?= $block->escapeHtml(__('First Name')) ?></th>
22-
<th scope="col" class="col lastname"><?= $block->escapeHtml(__('Last Name')) ?></th>
23-
<th scope="col" class="col streetaddress"><?= $block->escapeHtml(__('Street Address')) ?></th>
24-
<th scope="col" class="col city"><?= $block->escapeHtml(__('City')) ?></th>
25-
<th scope="col" class="col country"><?= $block->escapeHtml(__('Country')) ?></th>
26-
<th scope="col" class="col state"><?= $block->escapeHtml(__('State')) ?></th>
27-
<th scope="col" class="col zip"><?= $block->escapeHtml(__('Zip/Postal Code')) ?></th>
28-
<th scope="col" class="col phone"><?= $block->escapeHtml(__('Phone')) ?></th>
21+
<th scope="col" class="col firstname"><?= $escaper->escapeHtml(__('First Name')) ?></th>
22+
<th scope="col" class="col lastname"><?= $escaper->escapeHtml(__('Last Name')) ?></th>
23+
<th scope="col" class="col streetaddress"><?= $escaper->escapeHtml(__('Street Address')) ?></th>
24+
<th scope="col" class="col city"><?= $escaper->escapeHtml(__('City')) ?></th>
25+
<th scope="col" class="col country"><?= $escaper->escapeHtml(__('Country')) ?></th>
26+
<th scope="col" class="col state"><?= $escaper->escapeHtml(__('State')) ?></th>
27+
<th scope="col" class="col zip"><?= $escaper->escapeHtml(__('Zip/Postal Code')) ?></th>
28+
<th scope="col" class="col phone"><?= $escaper->escapeHtml(__('Phone')) ?></th>
2929
<th scope="col" class="col actions"> </th>
3030
</tr>
3131
</thead>
3232
<tbody>
33-
<?php foreach ($_pAddsses as $address) : ?>
33+
<?php foreach ($additionalAddresses as $address): ?>
3434
<tr>
35-
<td data-th="<?= $block->escapeHtml(__('First Name')) ?>" class="col firstname"><?= $block->escapeHtml($address->getFirstname()) ?></td>
36-
<td data-th="<?= $block->escapeHtml(__('Last Name')) ?>" class="col lastname"><?= $block->escapeHtml($address->getLastname()) ?></td>
37-
<td data-th="<?= $block->escapeHtml(__('Street Address')) ?>" class="col streetaddress"><?= $block->escapeHtml($block->getStreetAddress($address)) ?></td>
38-
<td data-th="<?= $block->escapeHtml(__('City')) ?>" class="col city"><?= $block->escapeHtml($address->getCity()) ?></td>
39-
<td data-th="<?= $block->escapeHtml(__('Country')) ?>" class="col country"><?= $block->escapeHtml($block->getCountryByCode($address->getCountryId())) ?></td>
40-
<td data-th="<?= $block->escapeHtml(__('State')) ?>" class="col state"><?= $block->escapeHtml($address->getRegion()->getRegion()) ?></td>
41-
<td data-th="<?= $block->escapeHtml(__('Zip/Postal Code')) ?>" class="col zip"><?= $block->escapeHtml($address->getPostcode()) ?></td>
42-
<td data-th="<?= $block->escapeHtml(__('Phone')) ?>" class="col phone"><?= $block->escapeHtml($address->getTelephone()) ?></td>
43-
<td data-th="<?= $block->escapeHtml(__('Actions')) ?>" class="col actions">
44-
<a class="action edit" href="<?= $block->escapeUrl($block->getUrl('customer/address/edit', ['id' => $address->getId()])) ?>"><span><?= $block->escapeHtml(__('Edit')) ?></span></a>
45-
<a class="action delete" href="#" role="delete-address" data-address="<?= $block->escapeHtmlAttr($address->getId()) ?>"><span><?= $block->escapeHtml(__('Delete')) ?></span></a>
35+
<td data-th="<?= $escaper->escapeHtml(__('First Name')) ?>" class="col firstname">
36+
<?= $escaper->escapeHtml($address->getFirstname()) ?>
37+
</td>
38+
<td data-th="<?= $escaper->escapeHtml(__('Last Name')) ?>" class="col lastname">
39+
<?= $escaper->escapeHtml($address->getLastname()) ?>
40+
</td>
41+
<td data-th="<?= $escaper->escapeHtml(__('Street Address')) ?>" class="col streetaddress">
42+
<?= $escaper->escapeHtml($block->getStreetAddress($address)) ?>
43+
</td>
44+
<td data-th="<?= $escaper->escapeHtml(__('City')) ?>" class="col city">
45+
<?= $escaper->escapeHtml($address->getCity()) ?>
46+
</td>
47+
<td data-th="<?= $escaper->escapeHtml(__('Country')) ?>" class="col country">
48+
<?= $escaper->escapeHtml($block->getCountryByCode($address->getCountryId())) ?>
49+
</td>
50+
<td data-th="<?= $escaper->escapeHtml(__('State')) ?>" class="col state">
51+
<?= $escaper->escapeHtml($address->getRegion()->getRegion()) ?>
52+
</td>
53+
<td data-th="<?= $escaper->escapeHtml(__('Zip/Postal Code')) ?>" class="col zip">
54+
<?= $escaper->escapeHtml($address->getPostcode()) ?>
55+
</td>
56+
<td data-th="<?= $escaper->escapeHtml(__('Phone')) ?>" class="col phone">
57+
<?= $escaper->escapeHtml($address->getTelephone()) ?>
58+
</td>
59+
<td data-th="<?= $escaper->escapeHtml(__('Actions')) ?>" class="col actions">
60+
<a class="action edit" href="
61+
<?= $escaper->escapeUrl(
62+
$block->getUrl('customer/address/edit', ['id' => $address->getId()])
63+
) ?>">
64+
<span><?= $escaper->escapeHtml(__('Edit')) ?></span>
65+
</a>
66+
<a class="action delete"
67+
href="#" role="delete-address"
68+
data-address="<?= $escaper->escapeHtmlAttr($address->getId()) ?>">
69+
<span><?= $escaper->escapeHtml(__('Delete')) ?></span>
70+
</a>
4671
</td>
4772
</tr>
4873
<?php endforeach; ?>
4974
</tbody>
5075
</table>
5176
</div>
52-
<?php if ($block->getChildHtml('pager')) : ?>
77+
<?php if ($block->getChildHtml('pager')): ?>
5378
<div class="customer-addresses-toolbar toolbar bottom"><?= $block->getChildHtml('pager') ?></div>
5479
<?php endif ?>
55-
<?php else : ?>
56-
<p class="empty"><?= $block->escapeHtml(__('You have no other address entries in your address book.')) ?></p>
80+
<?php else: ?>
81+
<p class="empty">
82+
<?= $escaper->escapeHtml(__('You have no other address entries in your address book.')) ?>
83+
</p>
5784
<?php endif ?>
5885
</div>
5986
</div>
6087

6188
<div class="actions-toolbar">
6289
<div class="primary">
63-
<button type="button" role="add-address" title="<?= $block->escapeHtmlAttr(__('Add New Address')) ?>" class="action primary add"><span><?= $block->escapeHtml(__('Add New Address')) ?></span></button>
90+
<button type="button" role="add-address" title="<?= $escaper->escapeHtmlAttr(__('Add New Address')) ?>"
91+
class="action primary add">
92+
<span><?= $escaper->escapeHtml(__('Add New Address')) ?></span>
93+
</button>
6494
</div>
6595
<div class="secondary">
66-
<a class="action back" href="<?= $block->escapeUrl($block->getUrl('customer/account')) ?>"><span><?= $block->escapeHtml(__('Back')) ?></span></a>
96+
<a class="action back"
97+
href="<?= $escaper->escapeUrl($block->getUrl('customer/account')) ?>">
98+
<span><?= $escaper->escapeHtml(__('Back')) ?></span>
99+
</a>
67100
</div>
68101
</div>
69102
<script type="text/x-magento-init">
70103
{
71104
".page-main": {
72105
"address": {
73106
"deleteAddress": "td a[role='delete-address']",
74-
"deleteUrlPrefix": "<?= $block->escapeJs($block->escapeUrl($block->getDeleteUrl())) ?>id/",
107+
"deleteUrlPrefix": "<?= $escaper->escapeJs($escaper->escapeUrl($block->getDeleteUrl())) ?>id/",
75108
"addAddress": "button[role='add-address']",
76-
"addAddressLocation": "<?= $block->escapeJs($block->escapeUrl($block->getAddAddressUrl())) ?>"
109+
"addAddressLocation": "<?= $escaper->escapeJs($escaper->escapeUrl($block->getAddAddressUrl())) ?>"
77110
}
78111
}
79112
}

app/code/Magento/Customer/view/frontend/web/js/customer-data.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
2-
* Copyright © Magento, Inc. All rights reserved.
3-
* See COPYING.txt for license details.
2+
* Copyright 2015 Adobe
3+
* All Rights Reserved.
44
*/
55

66
/**
@@ -95,7 +95,10 @@ define([
9595
parameters['force_new_section_timestamp'] = forceNewSectionTimestamp;
9696

9797
return $.getJSON(options.sectionLoadUrl, parameters).fail(function (jqXHR) {
98-
throw new Error(jqXHR);
98+
// don't throw error if the request is cancelled or blocked
99+
if (jqXHR.status !== 0) {
100+
throw new Error(jqXHR);
101+
}
99102
});
100103
}
101104
};

app/code/Magento/Quote/Model/QuoteManagement.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ private function placeOrderRun($cartId, ?PaymentInterface $paymentMethod = null)
453453
) {
454454
$quote->setCustomerFirstname($billingAddress->getFirstname());
455455
$quote->setCustomerLastname($billingAddress->getLastname());
456-
if ($billingAddress->getMiddlename() === null) {
456+
if ($billingAddress->getMiddlename() !== null) {
457457
$quote->setCustomerMiddlename($billingAddress->getMiddlename());
458458
}
459459
}

0 commit comments

Comments
 (0)