haiku-atelier-2024/web/app/themes/haiku-atelier-2024/page-shop.php
2024-08-08 10:10:49 +02:00

49 lines
1.3 KiB
PHP

<?php
/**
* Le modèle de la Page Boutique (« E-Shop »).
*/
declare(strict_types=1);
use Timber\Timber;
// Contexte et modèles
$contexte = Timber::context();
$modeles = ["shop.twig"];
// Récupère les Produits
$recupere_informations_produit = fn($produit) => [
"id" => $produit->id,
"illustration" => [
"image" => wp_get_attachment_image(get_post_thumbnail_id($produit->id), "full"),
],
"nom" => $produit->name,
"prix" => $produit->price,
"slug" => $produit->slug,
"premiere_variation_image" => wp_get_attachment_image(
$attachment_id = $produit->get_available_variations()[0]["image_id"],
$size = "large",
$attr = ["loading" => false],
),
"deuxieme_variation_image" => wp_get_attachment_image(
$attachment_id = $produit->get_available_variations()[1]["image_id"],
$size = "large",
$attr = ["loading" => false],
),
"url" => $produit->get_permalink(),
];
$informations_produits = wc_get_products([
"orderby" => "date",
"order" => "DESC",
]);
$produits = array_map($callback = $recupere_informations_produit, $array = $informations_produits);
$contexte["produits"] = $produits;
echo "<pre>";
// print_r($informations_produits);
// print_r($produits);
echo "</pre>";
// Rendu
Timber::render($filenames = $modeles, $data = $contexte);