From 20935b7b5043f53f784a0cbf2244eeea63f56b15 Mon Sep 17 00:00:00 2001 From: gcch Date: Tue, 14 Apr 2026 11:10:39 +0200 Subject: [PATCH] =?UTF-8?q?fonc:=20d=C3=A9place=20l'injection=20de=20donn?= =?UTF-8?q?=C3=A9es=20du=20Produit=20dans=20un=20script=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../haiku-atelier-2024/single-product.php | 21 +++++++++++----- .../haiku-atelier-2024/views/produit.twig | 25 ++++++------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/web/app/themes/haiku-atelier-2024/single-product.php b/web/app/themes/haiku-atelier-2024/single-product.php index e08501e1..445b0b68 100755 --- a/web/app/themes/haiku-atelier-2024/single-product.php +++ b/web/app/themes/haiku-atelier-2024/single-product.php @@ -22,7 +22,9 @@ use function add_action; use function assert; use function collect; use function is_array; +use function is_string; use function wc_get_product; +use function wp_create_nonce; use function wp_json_encode; $context = Timber::context(); @@ -66,12 +68,19 @@ $product_tags = $raw_product->get_tag_ids() |> (static fn(/** @var list> */ $tags) => Arr::map($tags, static fn($tag) => $tag->unwrap())); $tags = get_terms(['taxonomy' => 'product_tag', 'hide_empty' => true]); -// echo '
';
-// print_r($product_tags);
-// print_r($tags);
-// echo '
'; - -// exit(); +// Injecte les états initiaux des données du Produit sous forme de JSON dans le contexte. +$page_states = [ + 'nonce' => wp_create_nonce('wc_store_api'), + 'product' => [ + 'attributes' => $product->attributes, + 'id' => $product->id, + 'price' => $product->price, + 'variations' => $product->variations, + ], +] + |> wp_json_encode(...); +assert(is_string($page_states)); +$context['page_states'] = $page_states; add_action('wp_enqueue_scripts', function (): void { Resource::enqueue_script_module_file( diff --git a/web/app/themes/haiku-atelier-2024/views/produit.twig b/web/app/themes/haiku-atelier-2024/views/produit.twig index 8835f74b..fe259b74 100755 --- a/web/app/themes/haiku-atelier-2024/views/produit.twig +++ b/web/app/themes/haiku-atelier-2024/views/produit.twig @@ -1,23 +1,6 @@ {% extends 'base.twig' %} {% block head %} - - + + + {% endblock head %} {% block contenu %}