summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-05-12 21:50:22 +0200
committerpolo <ordipolo@gmx.fr>2025-05-12 21:50:22 +0200
commit8b27600f86d3df03a47e980a5cfe95ebc3b19919 (patch)
tree58f493bf42e17bf845b95218bf8d191743eba869
parent3674515ed5f5b394226954a646d5748419511e7d (diff)
downloadcms-8b27600f86d3df03a47e980a5cfe95ebc3b19919.zip
images et liens dans <header> dynamique en fonction de la BDD
-rw-r--r--src/view/HeaderBuilder.php28
-rw-r--r--src/view/templates/header.php9
2 files changed, 19 insertions, 18 deletions
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php
index 1c45d59..de824a0 100644
--- a/src/view/HeaderBuilder.php
+++ b/src/view/HeaderBuilder.php
@@ -35,6 +35,7 @@ class HeaderBuilder extends AbstractBuilder
35 if(file_exists($viewFile)) 35 if(file_exists($viewFile))
36 { 36 {
37 // titre et description 37 // titre et description
38 // => retourne $titre, $description et le tableau associatif: $social
38 if(!empty($node->getNodeData()->getData())) 39 if(!empty($node->getNodeData()->getData()))
39 { 40 {
40 extract($node->getNodeData()->getData()); 41 extract($node->getNodeData()->getData());
@@ -46,24 +47,27 @@ class HeaderBuilder extends AbstractBuilder
46 extract($node->getAttributes()); 47 extract($node->getAttributes());
47 } 48 }
48 49
49 // header logo + réseaux sociaux 50 // réseaux sociaux + logo dans l'entête
50 $targets = ['logo', 'facebook', 'instagram', 'fond_piscine']; 51 $keys = array_keys($social);
51 $i = 0; 52 $social_networks = '';
53 $head_logo = '';
52 foreach($node->getNodeData()->getImages() as $image) 54 foreach($node->getNodeData()->getImages() as $image)
53 { 55 {
54 if(str_contains($image->getFileName(), $targets[$i])) 56 for($i = 0; $i < count($keys); $i++)
55 { 57 {
56 $var = $targets[$i]; 58 if(str_contains($image->getFileName(), $keys[$i])){
57 $$var = rtrim($image->getFilePathMini(), '/'); 59 $social_networks .= '<a href="' . $social[$keys[$i]] . '" target="_blank" rel="noopener noreferrer">
58 $var .= '_alt'; // ex: logo_alt 60 <img src="' . rtrim($image->getFilePathMini(), '/') . '" alt="' . $social[$keys[$i]] . '_alt"></a>';
59 $$var = $image->getAlt(); 61 break;
62 }
63 if(str_contains($image->getFileName(), 'logo'))
64 {
65 $logo = rtrim($image->getFilePathMini(), '/');
66 break;
67 }
60 } 68 }
61 $i++;
62 } 69 }
63 70
64 // générer HTML réseaux sociaux
65 //
66
67 ob_start(); 71 ob_start();
68 require $viewFile; 72 require $viewFile;
69 $this->html .= ob_get_clean(); 73 $this->html .= ob_get_clean();
diff --git a/src/view/templates/header.php b/src/view/templates/header.php
index 1855741..a749f45 100644
--- a/src/view/templates/header.php
+++ b/src/view/templates/header.php
@@ -8,7 +8,7 @@
8 8
9 <div class="header-content"> 9 <div class="header-content">
10 <div class="head_logo"> 10 <div class="head_logo">
11 <a href="<?= new URL ?>"><img src="<?= $logo ?>" alt="<?= $logo_alt ?>"></a> 11 <a href="<?= new URL ?>"><img src="<?= $logo ?>" alt="logo_alt"></a>
12 </div> 12 </div>
13 <div class="site_title"> 13 <div class="site_title">
14 <a href="<?= new URL ?>"><h1><?= $title ?></h1></a> 14 <a href="<?= new URL ?>"><h1><?= $title ?></h1></a>
@@ -16,12 +16,9 @@
16 </div> 16 </div>
17 <div> 17 <div>
18 <div class="social"> 18 <div class="social">
19 <a href="<?= $facebook_link ?>" target="_blank" rel="noopener noreferrer"> 19 <?= $social_networks ?>
20 <img src="<?= $facebook ?>" alt="<?= $facebook_alt ?>"></a>
21 <a href="<?= $instagram_link ?>" target="_blank" rel="noopener noreferrer">
22 <img src="<?= $instagram ?>" alt="<?= $instagram_alt ?>"></a>
23 </div> 20 </div>
24<?= $breadcrumb ?> 21 <?= $breadcrumb ?>
25 </div> 22 </div>
26 </div> 23 </div>
27 </header> \ No newline at end of file 24 </header> \ No newline at end of file