47 lines
1.5 KiB
PHP
47 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Le modèle de la Page Boutique (« E-Shop »).
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Timber\Timber;
|
|
|
|
require_once __DIR__ . "/src/inc/TraitementInformations.php";
|
|
|
|
// Contexte et modèles
|
|
$contexte = Timber::context();
|
|
$modeles = ["boutique.twig"];
|
|
|
|
/** @var array<WC_Product> $informations_produits Les informations brutes des Produits. */
|
|
$informations_produits = wc_get_products([
|
|
"limit" => 12,
|
|
"order" => "DESC",
|
|
"orderby" => "date",
|
|
]);
|
|
/** @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;
|
|
|
|
/**
|
|
* Charge les Scripts nécessaires pour la page Boutique.
|
|
*/
|
|
function charge_scripts_page_boutique(): 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"),
|
|
);
|
|
}
|
|
add_action("wp_enqueue_scripts", "charge_scripts_page_boutique");
|
|
|
|
// Rendu
|
|
Timber::render(filenames: $modeles, data: $contexte);
|