2025-11-04

This commit is contained in:
gcch 2025-11-04 13:21:41 +01:00
commit 71c35a497f
1626 changed files with 5901 additions and 2182 deletions

View file

@ -1,4 +1,5 @@
<?php
/**
* Le modèle de la Page d'Archive d'une Catégorie de Produits.
*/
@ -7,51 +8,59 @@ declare(strict_types=1);
use Timber\Timber;
require_once __DIR__ . "/src/inc/TraitementInformations.php";
require_once __DIR__ . '/src/inc/TraitementInformations.php';
// Contexte et modèles
$contexte = Timber::context();
$modeles = ["boutique.twig"];
$modeles = ['boutique.twig'];
/** @var array<WC_Product> $informations_produits Les informations brutes des Produits. */
$informations_produits = wc_get_products([
"category" => [get_queried_object()?->slug],
"limit" => 12,
"order" => "DESC",
"orderby" => "date",
"status" => "publish",
'category' => [get_queried_object()?->slug],
'limit' => 12,
'order' => 'DESC',
'orderby' => 'date',
'status' => 'publish',
]);
/** @var InformationsProduitShop $produits Les informations strictement nécessaires pour la grille des Produits. */
$produits = array_map(callback: "recupere_informations_produit_shop", array: $informations_produits);
$contexte["produits"] = $produits;
$id_categorie_produits = array_shift($informations_produits)?->get_category_ids()[0] ?? "";
$contexte["id_categorie_produits"] = $id_categorie_produits;
$produits = array_map(
callback: 'recupere_informations_produit_shop',
array: $informations_produits,
);
$contexte['produits'] = $produits;
$id_categorie_produits = array_shift($informations_produits)?->get_category_ids()[0] ?? '';
$contexte['id_categorie_produits'] = $id_categorie_produits;
/**
* Charge les Scripts nécessaires pour la page d'Archive.
*/
function charge_scripts_page_archive_produits(): void {
wp_enqueue_style(
handle: "haiku-atelier-2024-styles-page-boutique",
src: get_template_directory_uri() . "/assets/css/pages/page-boutique.css",
deps: [],
ver: filemtime(get_template_directory() . "/assets/css/pages/page-boutique.css"),
media: "all",
);
wp_enqueue_script_module(
id: "haiku-atelier-2024-scripts-page-boutique",
src: get_template_directory_uri() . "/assets/js/scripts-page-boutique.js",
deps: [],
version: filemtime(get_template_directory() . "/assets/js/scripts-page-boutique.js"),
);
wp_enqueue_script_module(
id: "haiku-atelier-2024-scripts-menu-categories",
src: get_template_directory_uri() . "/assets/js/scripts-menu-categories.js",
deps: [],
version: filemtime(get_template_directory() . "/assets/js/scripts-menu-categories.js"),
);
wp_enqueue_style(
handle: 'haiku-atelier-2024-styles-page-boutique',
src: get_template_directory_uri() . '/assets/css/pages/page-boutique.css',
deps: [],
ver: filemtime(get_template_directory() . '/assets/css/pages/page-boutique.css'),
media: 'all',
);
wp_enqueue_script_module(
id: 'haiku-atelier-2024-scripts-page-boutique',
src: get_template_directory_uri() . '/assets/js/scripts-page-boutique.js',
deps: [],
version: filemtime(get_template_directory() . '/assets/js/scripts-page-boutique.js'),
);
wp_enqueue_script_module(
id: 'haiku-atelier-2024-scripts-menu-categories',
src: get_template_directory_uri() . '/assets/js/scripts-menu-categories.js',
deps: [],
version: filemtime(get_template_directory() . '/assets/js/scripts-menu-categories.js'),
);
}
add_action("wp_enqueue_scripts", "charge_scripts_page_archive_produits");
add_action('wp_enqueue_scripts', 'charge_scripts_page_archive_produits');
// Rendu
Timber::render(filenames: $modeles, data: $contexte);
Timber::render(
filenames: $modeles,
data: $contexte,
);