Надо вывести "Меню" <li>
в код через PHP. Смысл в том, чтобы не повторять одну и тоже строку <li>
, а сократить 8 строк в 1 php вывод.
(Простите за непонятное объяснение, я только начал программировать.)
<div class="mainmenu-area" data-spy="affix" data-offset-top="100">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#primary-menu">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="#"><img src="images/LOGO.png" alt="iPhone" class="navbar-brand logo">
</a>
</div>
<nav class="collapse navbar-collapse" id="primary-menu">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="#home-page"><?php echo $lang['home-page'] ?></a></li>
<li><a href="#service-page"><?php echo $lang['service-page'] ?></a></li>
<li><a href="#feature-page"><?php echo $lang['feature-page'] ?></a></li>
<li><a href="#price-page"><?php echo $lang['price-page'] ?></a></li>
<li><a href="#team-page"><?php echo $lang['team-page'] ?></a></li>
<li><a href="#faq-page"><?php echo $lang['faq-page'] ?></a></li>
<li><a href="#blog-page"><?php echo $lang['blog-page'] ?></a></li>
<li><a href="#contact-page"><?php echo $lang['contact-page'] ?></a></li>
</ul>
</nav>
</div>
<div class="lenguige">
<ul class="nav navbar-nav navbar-right">
<li class="lenguige"><a href = "?lang=sk">|SK|</a></li>
<li class="lenguige"><a href = "?lang=en">|ENG|</a></li>
</ul>
</div>
</div>
$menu = [
['langKey' => 'home-page', 'active' => true, 'link' => '#home-page'],
['langKey' => 'service-page', 'link' => '#service-page']
];
foreach($menu as $mi){
echo '<li',
(isset($mi['active'])?' class="active"':''),
'><a href="', $mi['link'], '">', $lang[$mi['langKey']],
'</a></li>';
}
Мы создаем массив в котором помещаем наш список навигации на сайте. В качестве элемента массива используем еще массив с тремя составляющими: ключ массива lang, ссылку и состояние, активное или нет.
Полный пример:
<div class="mainmenu-area" data-spy="affix" data-offset-top="100">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#primary-menu">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="#"><img src="images/LOGO.png" alt="iPhone" class="navbar-brand logo">
</a>
</div>
<nav class="collapse navbar-collapse" id="primary-menu">
<ul class="nav navbar-nav navbar-right">
<?php
$menu = [
['langKey' => 'home-page', 'active' => true, 'link' => '#home-page'],
['langKey' => 'service-page', 'link' => '#service-page']
];
foreach($menu as $mi){
echo '<li',
(isset($mi['active'])?' class="active"':''),
'><a href="', $mi['link'],'">',$lang[$mi['langKey']],
'</a></li>';
}
?>
</ul>
</nav>
</div>
<div class="lenguige">
<ul class="nav navbar-nav navbar-right">
<li class="lenguige"><a href = "?lang=sk">|SK|</a></li>
<li class="lenguige"><a href = "?lang=en">|ENG|</a></li>
</ul>
</div>
</div>
Примерно так:
<ul class="nav navbar-nav navbar-right">
<?php foreach ($lang as $item): ?>
<li><a href="#"><?php echo $item ?></a></li>
<?php endforeach; ?>
</ul>
Но только вам еще нужно решить вопрос о хранении ссылок данных пунктов меню. К примеру лучше всего также хранить их (в вашем случае) в том же массиве $lang. И в цикле выводит title и href. Если переделать массив, то будет выглядеть код, примерно так:
<ul class="nav navbar-nav navbar-right">
<?php
$lang = [
'service-page' => ['href' => '/service', 'title' => 'Сервис'],
'price-page' => ['href' => '/price', 'title' => 'Прайс'],
'blog-page' => ['href' => '/blog', 'title' => 'Блог']
];
?>
<?php foreach ($lang as $item): ?>
<li><a href="<?php echo $item['href'] ?>"><?php echo $item['title'] ?></a></li>
<?php endforeach; ?>
</ul>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
При выполнении данного кода возникает ошибка в последней строке