From 4f8922aa0b018058f627c365cf5b45c08d78f524 Mon Sep 17 00:00:00 2001 From: Maikel Perez Date: Fri, 12 Jan 2024 18:47:15 -0300 Subject: [PATCH] Remove Variable product template from the product template list (#43422) * Remove variable-product-template from the product template list * Add changelog files * Redirect the variable product to the new experience now that is does not have a product template anymore * Fix php linter error --- packages/js/product-editor/changelog/add-43225 | 4 ++++ plugins/woocommerce/changelog/add-43225 | 4 ++++ .../src/Admin/Features/ProductBlockEditor/Init.php | 13 ------------- .../ProductBlockEditor/RedirectionController.php | 11 +++++++---- 4 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 packages/js/product-editor/changelog/add-43225 create mode 100644 plugins/woocommerce/changelog/add-43225 diff --git a/packages/js/product-editor/changelog/add-43225 b/packages/js/product-editor/changelog/add-43225 new file mode 100644 index 00000000000..1a2e9c408d0 --- /dev/null +++ b/packages/js/product-editor/changelog/add-43225 @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Always fallback to the standard product template in case the given product type is variable diff --git a/plugins/woocommerce/changelog/add-43225 b/plugins/woocommerce/changelog/add-43225 new file mode 100644 index 00000000000..6a05b38eb62 --- /dev/null +++ b/plugins/woocommerce/changelog/add-43225 @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Remove Variable product from the product template list diff --git a/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/Init.php b/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/Init.php index d15ad551d45..dddf7af3907 100644 --- a/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/Init.php +++ b/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/Init.php @@ -282,19 +282,6 @@ class Init { ), ) ); - $templates[] = new ProductTemplate( - array( - 'id' => 'variable-product-template', - 'title' => __( 'Variable product', 'woocommerce' ), - 'description' => __( 'A product with variations like color or size.', 'woocommerce' ), - 'order' => 40, - 'icon' => null, - 'layout_template_id' => 'simple-product', - 'product_data' => array( - 'type' => 'variable', - ), - ) - ); return $templates; } diff --git a/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/RedirectionController.php b/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/RedirectionController.php index a67fdc28850..62c144d39b3 100644 --- a/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/RedirectionController.php +++ b/plugins/woocommerce/src/Admin/Features/ProductBlockEditor/RedirectionController.php @@ -71,10 +71,13 @@ class RedirectionController { continue; } - $product_data = $product_template->get_product_data(); - $product_type = $product_data['type']; + $product_data = $product_template->get_product_data(); + $product_data_type = $product_data['type']; + // Treat a variable product as a simple product since there is not a product template + // for variable products. + $product_type = $product->get_type() === 'variable' ? 'simple' : $product->get_type(); - if ( isset( $product_type ) && $product_type !== $product->get_type() ) { + if ( isset( $product_data_type ) && $product_data_type !== $product_type ) { continue; } @@ -82,7 +85,7 @@ class RedirectionController { return true; } - if ( isset( $product_type ) ) { + if ( isset( $product_data_type ) ) { if ( Features::is_enabled( 'product-virtual-downloadable' ) ) { return true; }