• 0
Denzell97

Как правильно  верстать многостраничные сайты?

Вопрос

Объясните как правильно жить верстать многостраничные сайты? 

Я покажу вам на примере того как это делаю я. Это наверное глупый\неправильный метод, просто я не знаю как нужно\можно делать это проще. 

Вот допустим у меня есть маленький сайт на котором есть 3 пункта меню.

Цитата

438772609_1.thumb.png.e3819e2db690ce78d71e18bae1c425b2.png

То есть в редакторе я создаю скелет сайта, внутри body я помещаю эти самые кнопки, подключаю их к форме,  затем создаю Огромный блок где будет располагаться Весь контент. Но внутри этого  блока я не помещаю контент, а помещаю PHP переменную, в которой и хранится весь этот контент вместе со всеми остальными блоками и стилями. То есть таким образом стараюсь разбить HTML код на функции PHP. И получается что у меня может храниться весь сайт в одном **.php файле. То есть в зависимости от переменных в адресной строке $_GET["Меню"] и загружается необходимый контент через условия. То есть код у меня выглядит примерно вот так:

<!DOCTYPE html>
<html>
<head>
	<title>Сайт</title>
		<style type="text/css">
		.Меню {
			position: absolute;
			background: #9E9E9EFF;
			width: 200px;
			height: 700px;
		}	
		button {
			width: 100%;
			margin-top: 20px;
		}
		.Контент {
			position: absolute;
			left: 300px;
			width: 500px;
			height: 500px;
			border: 1px solid black;
		}
	</style>
</head>
<body>
	<div class="Меню"> 
		<button form="forma" name="Меню" value="1">Меню 1</button>
		<button form="forma" name="Меню" value="2">Меню 2</button>
		<button form="forma" name="Меню" value="3">Меню 3</button>
	</div>
	<div class="Контент">
		<?php
			if($_GET["Меню"] == 1)
				Меню_1();
			if($_GET["Меню"] == 2)
				Меню_2();
			if($_GET["Меню"] == 3)
				Меню_3();
		?>
	</div>
	<form style="display: none;" id="forma"></form>
</body>
</html>

<?php
	function Меню_1() {
		echo '
			<div style="position: relative; margin: 0 auto; width: 70%;">
				Выбрано меню 1
			</div>
		';
	}

	function Меню_2() {
		echo '
			<div style="position: relative; margin: 0 auto; width: 70%; font-size: 20px;">
				А теперь 2 меню
			</div>
		';
	}

	function Меню_3() {
		echo '
			<div style="position: relative; margin: 0 auto; width: 70%;">
				И 3 меню
			</div>
	';
	}
?>

Вот таким странным образом я делаю страницы для сайта. Через отправку формы уже по условиям идет формирование HTML разметки. 

Конечно код получается достаточно большим при создании больших страниц с контентом и находится все в одном файле. Единственное что удобно это разбивать HTML код на отдельные фрагменты. 

Есть ли какие то глупости данного метода? или Впринипи так и делают? (Ну почти так)

 

 

P/S. и да у меня стили и Функции PHP на русском языке. Ну вроде бы не мешает. да и удобно для меня

Изменено пользователем Denzell97

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Верстаются просто отдельные html'ки. Всё. 
Не надо ничего придумывать. 

И обычно ещё системами сборки пользуются. Там те же шаблоны/ инклуды и т.п., а на выходе те же хтмл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Верстай полностью отдельные страницы, PHP это не работа верстальщика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: egor_martynov
      Ребят, помогите сверстать эту карточку, никак не получается поместить иконку и текст в центр и сделать бирюзовый прямоугольник фоном) Буду очень благодарен.
      Картинки и итоговый результат прикрепил внизу



    • Автор: marriavass
      Помогите, пожалуйста, понять как разместить footer поверх map.  Я начинающий верстальщик и не могу понять как решить данную задачу.  Я пробовала с отрицательным margin-top для footer, тогда он залазит на div и в Chrome и Safari все отлично, но Firefox все съезжает.
      <main>
      /*много других тегов*/
        <section class="modal-map">
      /*форма*/
           <div>  <iframe src="https://www.google.com></iframe> </div>
         </section>
      </main>
        <footer>     
       </footer>
        
    • Автор: AlexGreat
      Позвольте немного философский, но оттого не менее важный вопрос.
      Многим известна онлайн-школа обучения веб разработке "Html-Academy", являющаяся, пожалуй, самой адекватной на российском рынке.
      У них есть несколько курсов - 
      Html/css уровень 1,
      Html/css уровень 2,
       Java script уровень 1.
      Представленные как отдельные курсы по стоимости что-то около 15-20 тысяч рублей. НО недавно появилась программа "профессия" , которая представляет из себя обучение комплексно по 3 приведенным выше программам и присвоением квалификации "Frontend-разработчик" в конце обучения.
      Скажите, как вы считаете стоит ли идти на обучение по этой комплексной программе? Она стартует в январе и стоит около 75 тысяч рублей за курс. Это большие деньги для нашего региона. Обучение будет идти около полугода.
      Сомнения основных 2 :
      1) Эти курсы (более ранних потоков) есть на торренете со всеми материалами - может ли самостоятельно обучение по ним заменить реальное платное обучение? Я пробовал учить сам, но как- трудновато, я такой человек, который любит задавать вопросы.
      2) Обучение будет длиться около полугода. То есть закончится уже во второй половине 2019 года. Непонятно, как изменится рынок труда фронтенда и программирования в целом, может уже фронтедеры никому не нужны будут, тк переизбыток на рынке и каждая бабушка уже сама будет уметь верстать сайты? Ну и в третьих, там exfn DOM, API , структуре данных и так далее. НО не учат фреймовркам. Говорят, то фреймворки это фигня, которая осваивается за пару недель самостоятельно. Но работодатели, как посмотришь, помешаны на фреймворках сегодня. Спасибо!
  • Спрашивают сейчас

  • Пишут сейчас

    • Разметка выглядит как минимум странно!          В любом случае надо сделать вашу разметку лучше!              и после этого уже ожидать хороших примеров.  ... Далее по:  <!DOCTYPE html> - #html5 - ок  <html lang="en"> - почему? в документе объявлена латиница а записи в этом доке сделаны кирилицей ! - #html5 -  <script type="text/javascript"></script> - type="text/javascript" это лишнее, достаточно <script> </script> - #html5 -  <section class="wrapper"> - <section>? где заголовок <h2-6>? - #html5 -  <ul class="sidebar-menu"> <?php include_once 'menu.php'; ?> </ul> </li> </ul> - оочень странная конструкция, для шаблона!  <section class="my-page"> - ещё <section>? где заголовок <h2-6>? - #html5 - + не о чем не говорящее имя класса! "my-page"(  <img width="100%" ...> - почему стилевые правила в разметке? тем более <img width="100%" ...> не приветствуется в  - #html5 -  ... далее имеются повторяющиеся моменты указанные выше, также своевременность открытия/закрытия тэгов...  <div class="menu"><div class="footer">«Играй в SAMP» Powered by Mihail Rusich ©2016 </div></menu> - нижний колонтитул просто эпик! что это за конструкция?  <divclass="menu"> <divclass="footer"></div> </menu> . итог: приведите в порядок - валидируйте вашу разметку!  Удачи) ....
    • Если вы знаете каким образом увидеть афиши прошедших мероприятий, пожалуйста, смотрите и парсите, но мне кажется сайт не выдает мероприятия из прошлого. Вы можете парсить начиная с сегодняшнего числа и копить эту информацию, на вашем сайте доступ к прошедшим мероприятиям может быть реализован. т.е. вы хотите, чтобы я вам сделал парсер?
      В чем проблемы возникли?
      Для работы с xml документами можно использовать http://simplehtmldom.sourceforge.net/
      Так же весь парсер можно разбить на функции, одна будет например парсить список мероприятий, другая данные по конкретному мероприятию....
        require_once('simple_html_dom.php'); function parser_get_list($p = 1) {     $url = 'https://www.culture.ru/afisha/chelyabinsk?page='.$p.'&limit=24';     $html = file_get_html($url);     if(is_object($html))     {         $items = $html->find('.container_inner .entity-cards_item');         if(is_array($items) && count($items) > 0)         {             foreach($items as $key=>$val)             {                 $url = $val->find('a',0)->href;                 parser_get_page($url);             }             parser_get_list($p+1);         }         else         {             $items = $html->find('.empty-data-message');             if(is_array($items) && count($items) > 0)             {                 //список мероприятий кончился             }             else             {                 //нет ни афиши ни информации о том что их нет - какая-то ошибка возможно                 //можно сделать обработку для них             }         }     } } function parser_get_page($url) {     //проверяем есть ли данная запись у нас, если нет     //аналогично функции parser_get_list, ищем нужные нам данные и записывать их куда-то }  
    • Спасибо большое, но я еще многое чего не понимаю. Да, хочу адаптивно сверстать.
  • Лучшие авторы

    Никто не получал репутацию за неделю

  • Текущие цели пожертвований