diff options
author | polo <ordipolo@gmx.fr> | 2025-05-12 21:50:22 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-05-12 21:50:22 +0200 |
commit | 8b27600f86d3df03a47e980a5cfe95ebc3b19919 (patch) | |
tree | 58f493bf42e17bf845b95218bf8d191743eba869 | |
parent | 3674515ed5f5b394226954a646d5748419511e7d (diff) | |
download | cms-8b27600f86d3df03a47e980a5cfe95ebc3b19919.zip |
images et liens dans <header> dynamique en fonction de la BDD
-rw-r--r-- | src/view/HeaderBuilder.php | 28 | ||||
-rw-r--r-- | src/view/templates/header.php | 9 |
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 |