From 490bb6e292184358c75a5aec6324e8b5bbcbfbcf Mon Sep 17 00:00:00 2001 From: Nathaniel Hammond Date: Thu, 16 Jul 2026 15:28:31 +0100 Subject: [PATCH 1/2] #4335 variant field layout tabs displayed incorrectly --- CHANGELOG.md | 4 +++ .../PurchasablePriceField.php | 28 +++++++++---------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0404189a2d..e5cc0f09e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Release Notes for Craft Commerce +## Unreleased + +- Fixed a bug where product variant field layout tabs displayed incorrectly on variant slideouts. ([#4335](https://github.com/craftcms/commerce/issues/4335)) + ## 5.7.0 - 2026-07-16 ### Store Management diff --git a/src/fieldlayoutelements/PurchasablePriceField.php b/src/fieldlayoutelements/PurchasablePriceField.php index fde9f48c78..f8fd8697b5 100755 --- a/src/fieldlayoutelements/PurchasablePriceField.php +++ b/src/fieldlayoutelements/PurchasablePriceField.php @@ -129,18 +129,19 @@ public function inputHtml(ElementInterface $element = null, bool $static = false $toggleAttributes['data-init-prices'] = 'true'; $toggleContent = PurchasableHelper::catalogPricingRulesTableByPurchasableId($element->id, $element->storeId) . Html::beginTag('div', ['class' => 'flex']) . - // New catalog price button - Html::button(Craft::t('commerce', 'Add catalog price'), [ - 'class' => 'btn icon add js-cpr-slideout', - 'data-icon' => 'plus', - 'data-store-id' => $element->storeId, - 'data-store-handle' => $element->getStore()->handle, - 'data-purchasable-id' => $element->id, - 'data-asdsa' => $element->firstSave, - ]) . - Cp::renderTemplate('commerce/prices/_status', [ - 'areCatalogPricingJobsRunning' => Plugin::getInstance()->getCatalogPricing()->areCatalogPricingJobsRunning(), - ]); + // New catalog price button + Html::button(Craft::t('commerce', 'Add catalog price'), [ + 'class' => 'btn icon add js-cpr-slideout', + 'data-icon' => 'plus', + 'data-store-id' => $element->storeId, + 'data-store-handle' => $element->getStore()->handle, + 'data-purchasable-id' => $element->id, + 'data-asdsa' => $element->firstSave, + ]) . + Cp::renderTemplate('commerce/prices/_status', [ + 'areCatalogPricingJobsRunning' => Plugin::getInstance()->getCatalogPricing()->areCatalogPricingJobsRunning(), + ]) . + Html::endTag('div'); } else { /** @var Sale[] $relatedSales */ $relatedSales = Plugin::getInstance()->getSales()->getSalesRelatedToPurchasable($element); @@ -204,8 +205,7 @@ public function inputHtml(ElementInterface $element = null, bool $static = false Html::tag( 'div', // Prices table - $toggleContent . - Html::endTag('div'), + $toggleContent, [ 'id' => 'purchasable-toggle', 'class' => 'hidden', From a49d13b78bc28cc723fa25fc535120c31abb89bb Mon Sep 17 00:00:00 2001 From: Nathaniel Hammond Date: Thu, 16 Jul 2026 15:50:07 +0100 Subject: [PATCH 2/2] Fix left over debug code --- src/fieldlayoutelements/PurchasablePriceField.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fieldlayoutelements/PurchasablePriceField.php b/src/fieldlayoutelements/PurchasablePriceField.php index f8fd8697b5..9a987c23bb 100755 --- a/src/fieldlayoutelements/PurchasablePriceField.php +++ b/src/fieldlayoutelements/PurchasablePriceField.php @@ -136,7 +136,6 @@ public function inputHtml(ElementInterface $element = null, bool $static = false 'data-store-id' => $element->storeId, 'data-store-handle' => $element->getStore()->handle, 'data-purchasable-id' => $element->id, - 'data-asdsa' => $element->firstSave, ]) . Cp::renderTemplate('commerce/prices/_status', [ 'areCatalogPricingJobsRunning' => Plugin::getInstance()->getCatalogPricing()->areCatalogPricingJobsRunning(),