Задать вопрос
MaximusDem
@MaximusDem
Начинающий разработчик

Как задать разный вид для разных страниц сайта на php и mysql?

Здравствуйте! Недавно начал разбираться с php, делаю тестовый проект. Подскажите, пожалуйста, каким образом для разных страниц вывести разную структуру? Например, стандартно у меня в index.php выводится
<?php require_once 'header.php' ?>
	<div id="wrapper-content">
		<div id="content">
        <?php include $view. '.php' ?>
		</div>
	</div>

		<?php require_once 'leftbar.php' ?>
		<?php require_once 'rightbar.php' ?>
		<?php require_once 'footer.php' ?>
</div>
</body>
</html>


динамическую часть контента я вывожу в файле контроллера (controller.php)
if(empty($_GET['view'])) {
    $view = 'main';
}else {
    $view = $_GET['view'];
}

Теперь собственно, основной вопрос - как мне задать другие header, leftbar и т.д (добавленые через require_once ) для других страниц (например для главной один шаблон, для всех остальных - другие)?

P.S. Для Wordpress было относительно несложно
<?php 
if (is_page('ID_нужной страницы')) {
 include(TEMPLATEPATH.'/header-top.php');
 } else {
 include(TEMPLATEPATH.'/header.php');
 } ?>
и все работало... Подскажите, пожалуйста, всю голову сломал(((

Upd 13.02.17
Всем спасибо за пояснения! Решил, что буду разбираться с Twig... Пока прикрутил заплатку
if(empty($_GET['view'])) {
    $view = 'main';
	require_once TEMPLATE.'main.php';
}else {
    $view = $_GET['view'];
	require_once TEMPLATE.'index.php';
}

Конечно здесь меняется дизайн только двух типов страниц - главной и всех остальных...Но пока не разберусь в twig, этого мне хватит. Еще раз всем спасибо за пояснения, сам бы разбирался до второго пришествия)))))
  • Вопрос задан
  • 304 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@ReFeRy
Проблема в том, что определение будущего внешнего вида страницы у вас происходит до определения содержимого этой страницы.

Сначала вы должны определить свою переменную $view, а потом уже инклюдить разные части шаблона. Тогда вы сможете задавать условия по этой переменной и инклюдить разные варианты шаблона.

Это, если по простому, для понимания сути.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽