63 lines
1.8 KiB
PHP
Executable file
63 lines
1.8 KiB
PHP
Executable file
<?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 list<WC_Product> $informations_produits Les informations brutes des Produits. */
|
|
$informations_produits = wc_get_products([
|
|
'limit' => 12,
|
|
'order' => 'DESC',
|
|
'orderby' => 'date',
|
|
'status' => 'publish',
|
|
]);
|
|
|
|
/** @var mixed $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'),
|
|
);
|
|
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_boutique');
|
|
|
|
// Rendu
|
|
Timber::render(
|
|
filenames: $modeles,
|
|
data: $contexte,
|
|
);
|