2026-04-03

This commit is contained in:
gcch 2026-04-03 08:49:14 +02:00
commit 5f835ca4e6
45 changed files with 819 additions and 626 deletions

View file

@ -6,19 +6,23 @@ declare(strict_types=1);
* Le modèle de la Page d'Archive d'une Catégorie de Produits.
*/
namespace HaikuAtelier;
use Exception;
use HaikuAtelier\Data\Product;
use HaikuAtelier\WP\Resource;
use Illuminate\Support\Arr;
use Timber\Timber;
use WC_Product;
use WP_Term;
require_once __DIR__ . '/src/inc/TraitementInformations.php';
// Contexte et modèles
$context = Timber::context();
$templates = ['boutique.twig'];
/** @var WP_Term */
$current_term = get_queried_object();
/** @var string */
$category_slug = $current_term->slug;
/** @var list<WC_Product> $raw_products Les informations brutes des Produits. */
@ -27,14 +31,11 @@ $raw_products = wc_get_products([
'limit' => 12,
'order' => 'DESC',
'orderby' => 'date',
'status' => 'publish'
'status' => 'publish',
]);
/** @var list<Product> */
$products = array_map(
callback: Product::new(...),
array: $raw_products
);
$products = Arr::map($raw_products, Product::new(...));
$context['products'] = $products;
/** @var string */
@ -49,22 +50,22 @@ $context['products_category_id'] = $products_category_id;
function load_page_resources(): void {
Resource::enqueue_style_file(
handle: 'haiku-atelier-2024-styles-page-boutique',
path: '/assets/css/pages/page-boutique.css'
path: '/assets/css/pages/page-boutique.css',
);
Resource::enqueue_script_module_file(
id: 'haiku-atelier-2024-scripts-page-boutique',
path: '/assets/js/scripts-page-boutique.js'
path: '/assets/js/scripts-page-boutique.js',
);
Resource::enqueue_script_module_file(
id: 'haiku-atelier-2024-scripts-menu-categories',
path: '/assets/js/scripts-menu-categories.js'
path: '/assets/js/scripts-menu-categories.js',
);
}
add_action('wp_enqueue_scripts', 'load_page_resources');
add_action('wp_enqueue_scripts', load_page_resources(...));
// Rendu
Timber::render(
filenames: $templates,
data: $context
data: $context,
);