Создание таблицы для банеров
CREATE TABLE `kta22v`.`baners` ( `id` INT NOT NULL AUTO_INCREMENT , `lang` VARCHAR(2) NOT NULL , `photo` TINYTEXT NOT NULL , `listOrder` TINYINT NOT NULL , `dateStart` DATETIME NOT NULL , `dateEnd` DATETIME NOT NULL , `title` TINYTEXT NOT NULL , `lead` TEXT NOT NULL , `link` TINYTEXT NOT NULL , `clicks` INT NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
Пример добавления информации в таблицу
INSERT INTO `baners` (`id`, `lang`, `photo`, `listOrder`, `dateStart`, `dateEnd`, `title`, `lead`, `link`, `clicks`) VALUES (NULL, 'ru', '1.png', '1', '2023-10-28 10:27:42', '2023-10-31 10:27:42', 'Новые предложения', 'Только для тех, кто приобрел два пуховика есть возможность приобрести третий', '?ln=ru&page=product&id=132456789', '0')
INSERT INTO `baners` (`id`, `lang`, `photo`, `listOrder`, `dateStart`, `dateEnd`, `title`, `lead`, `link`, `clicks`) VALUES (NULL, 'ru', '2.webp', '2', '2023-10-28 10:27:42', '2023-10-31 10:27:42', 'Старые предложения', '10 первых посетителей получат в подарок белые тапочки', '?ln=ru&page=product&id=65441223', '0'), (NULL, 'et', '2.webp', '2', '2023-10-28 10:27:42', '2023-10-31 10:27:42', 'Vanad pakkumised', 'Esimesed 10 külastajat saavad kingituseks valged sussid', '?ln=et&page=product&id=65441223', '0'), (NULL, 'en', '2.webp', '2', '2023-10-28 10:27:42', '2023-10-31 10:27:42', 'Old offer', 'The first 10 visitors will receive white slippers as a gift', '?ln=en&page=product&id=65441223', '0')
Код файла banners2.php
<?php
$banList=getLangList($ssylka,'baners', "lang='".$_GET['ln']."'",'listOrder');
foreach($banList as $banNum => $banInfo){
echo '';
}
?>
Начала шаблона баннера2
<div id="carouselExampleCaptions" class="carousel slide">
<div class="carousel-indicators">
<!--// тут будут кнопки перемотки к каждому банеру, которые в центре //-->
</div>
<div class="carousel-inner">
<!--// тут будут блоки каждого отдельного банера с картинкой и текстом //-->
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Предыдущий</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Следующий</span>
</button>
</div>
Следующая версия
<?php
$banList=getLangList($ssylka,'baners', "lang='".$_GET['ln']."'",'listOrder');
?>
<div id="carouselExampleCaptions" class="carousel slide">
<div class="carousel-indicators">
<!--// тут будут кнопки перемотки к каждому банеру, которые в центре //-->
<?php
foreach($banList as $banNum => $banInfo){
echo '';
}
?>
</div>
<div class="carousel-inner">
<!--// тут будут блоки каждого отдельного банера с картинкой и текстом //-->
<?php
foreach($banList as $banNum => $banInfo){
echo '';
}
?>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Предыдущий</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Следующий</span>
</button>
</div>
Следующий этап
<?php
$banList=getLangList($ssylka,'baners', "lang='".$_GET['ln']."'",'listOrder');
?>
<div id="carouselExampleCaptions" class="carousel slide">
<div class="carousel-indicators">
<!--// тут будут кнопки перемотки к каждому банеру, которые в центре //-->
<?php
$dobavka=' class="active" aria-current="true" ';
foreach($banList as $banNum => $banInfo){
echo '<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="'.$banNum.'" '.$dobavka.' aria-label="Slide '.($banNum+1).'"></button>';
$dobavka='';
}
?>
</div>
<div class="carousel-inner">
<!--// тут будут блоки каждого отдельного банера с картинкой и текстом //-->
<?php
foreach($banList as $banNum => $banInfo){
echo '';
}
?>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Предыдущий</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Следующий</span>
</button>
</div>
Финальный код
<?php
$banList=getLangList($ssylka,'baners', "lang='".$_GET['ln']."'",'listOrder');
?>
<div id="carouselExampleCaptions" class="carousel slide">
<div class="carousel-indicators">
<!--// тут будут кнопки перемотки к каждому банеру, которые в центре //-->
<?php
$dobavka=' class="active" aria-current="true" ';
foreach($banList as $banNum => $banInfo){
echo '<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="'.$banNum.'" '.$dobavka.' aria-label="Slide '.($banNum+1).'"></button>';
$dobavka='';
}
?>
</div>
<div class="carousel-inner">
<!--// тут будут блоки каждого отдельного банера с картинкой и текстом //-->
<?php
$dobavka=' active';
foreach($banList as $banNum => $banInfo){
echo '<div class="carousel-item'.$dobavka.'">
<img src="banner/'.$banInfo['photo'].'" class="d-block w-100" alt="'.$banInfo['title'].'">
<div class="carousel-caption d-none d-md-block">
<h5>'.$banInfo['title'].'</h5>
<p>'.$banInfo['lead'].'</p></div></div>';
$dobavka='';}
?>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Предыдущий</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Следующий</span>
</button>
</div>
В блоке НАВИ добавка
<div class="navbar-nav ms-auto mb-2 mb-lg-0">
<?php
$langs=getLangList($ssylka,'languages');
foreach($langs as $langsK => $langsV){
echo '<li>'.$langsV['title'].'</li>';
}
?>
</div>
Замена на:
echo '<li><a href="?ln='.$langsV['code'].'">'.$langsV['title'].'</a></li>';
Новое содержимое престарта
<?php
$langList=getLangList($ssylka,'languages','','listOrder');
if(empty($_GET['ln'])){
$_GET['ln']=$langList[0]['code'];
}else{
$langTest=false;
foreach($langList as $langN => $langInfo){
if($_GET['ln']==$langInfo['code']){$langTest=true;}
}
if($langTest==false){
$_GET['ln']=$langList[0]['code'];
}
}
?>