49 lines
1.3 KiB
PHP
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);
|