| Структура сайта? Какой она должна быть. |
|
Дмитрий
|
19.09.08 14:30 |
Вот такую я ее себе представляю после прочтения горы литературы:
http://forum.ixbt.com/post.cgi?id=attach:24:41113:4:1
Ориентировался я по одному из руководств в котором был привед шаблон для чайников, вот с таким кодом:
1. Файл скажем index.php
<?php
$text = "Это текст";
$title = "Это заголовок";
include "template.html";
?>
--------------------------------------------
2. Файл template.html
<html><title><?=strtoupper($title)?></title>
<body>
Введеный текст: <b><?=$text;?></b>
</body>
</html>
-----------------------------------------
Естественно у меня возник вопрос, а как же добавление новостей, опросов и т.д в такую структуру. Я попробовал сделать еще файл opros.php в котором содержится простенький опрос; и соотвественно в нужном мне месте в файле template.html я воткнул этот скрипт путем <?include "opros.php"?> Правильно ли я сделал?
Дальше больше: а как убрать ту форму в которой выбирается вариант ответа, вот скажем я ответил: - форма с ответом пропала, а вместо нее появился результат. В детстве я помню как мой знакомый такое делал на perle, но там как бы заново приходилось генерировать страницу всю! Т.е. код основной страницы, где расположен опрос увеличивался ровно в 2 раза. |
| ответить |
|
phpfaq
|
19.09.08 15:48 |
Нет, включать ничего не надо
Схема неправильная.
Что означает стрелочка от "костяка" сайта к индексу? И HTML должен идти после модулей, а не до. И общий индекс - это опционально, без него можно обойтись.
Пример хороший, но очень примитивный, в нем нет развития для реального сайта.
А для реального сайта важно понять, что шаблон должен быть у каждой страницы.
То есть, схема становится куда проще: обращение к скрипту, скрипт заполняет свой шаблон и выводит его в браузер.
То есть, опрос надо делать точно так же, как индекс - скрипт opros.php и шаблон к нему.
template.html переименовать в template_index.html и сделать вдобавок template_opros.html |
| ответить |
|
Дмитрий
|
19.09.08 16:00 |
Значит нужно делать так?
Главный файл index.php к нему подключаем template_index.html. Далее создаем скажем модуль опроса opros.php, а к нему подключаем template_opros.html. А потом......... opros.php подключаем в нужное нам место template_index.html ???? |
| ответить |
|
phpfaq
|
19.09.08 16:04 |
А зачем?
Зачем куда-то подключать opros.php?
Если опрос чвляется частью индекса - то да. А если это отдельная страница - скажем, статьи или форум - то зачем его включать в индекс? |
| ответить |
|
Дмитрий
|
19.09.08 16:10 |
А, поясню.
Скажем нужно, чтобы опрос выполнялся не в отдельной странице, а именно в правой части главной страницы. т.е. я в структуре template_index.html:
-----------------------------------------
<table border="0" cellpadding="0" cellspacing="0" width="770" bgcolor="#000099">
<tr>
<td>include <?opros.php?></td>
</tr>
</table>
-----------------------------------------
Т.е. я опрос подключил модульно и вместо него в другой раз могу вывести скажем баннеры.
Или я чего-то недопонял? |
| ответить |
|
phpfaq
|
19.09.08 16:24 |
Модули шаблонов - это отдельная тема.
Просто вначале ты говорил о структуре сайта, а не одной страницы.
То, что ты написал, не очень годится с точки зрения использования шаблонов. Поскольку главное правило при использовании шаблонов заключается в том, что весь РНР код выполняется до того, как выведется в браузер хоть одна буква. Код имеется в виду тот, который получает данные, разумеется, а не тот, который в шаблонах.
То есть, скорее у тебя вместо строчки
<?include 'opros.php'?>
должна быть
<?include 'template_opros.html'?>
А opros.php должен быть включен в индекс, до шаблонов.
Но здесь много нюансов. Я бы тебе порекомендовал не лезть пока в эти тонкости, и заняться пока проработкой структуры сайта. |
| ответить |
|
Дмитрий
|
19.09.08 16:40 |
Ладно лезть так далеко пока не будем.
Но кажется я понял, что в файл template_index.html мы как бы встраиваем кусок еще одного html кода в лице template_opros.html. Но пока это опустим.
Поставим все точки над "й". Если я буду делать сайт вот по этой схеме:
index.php -> template_index.html
page1.php -> template_page2.html
page2.php -> template_page2.html
Правильно ли это будет с точки зрения дальнейшего развития сайта, рано или поздно я добью все эти нюансы и захочу встроить уже модули. Как сильно это повлияет на дальнейшую реконструкцию уже готовых страниц? |
| ответить |
|
phpfaq
|
19.09.08 16:44 |
Правильно
Только, разумеется опять же, общую часть оформления сайта (то, что ты называешь костяком, если я правильно понял), надо вынести в отельные файлы, и подключать в шаблоны страниц инклюдом. |
| ответить |
|
Дмитрий
|
19.09.08 16:59 |
ну все завис:)))
да - костяк - это скелет (грубо говоря набор таблиц <table>) сайта на который потом одену одежду: картинки, внедрю текст и тд путем <?$image?> или <?$text?>.....
Но вот это немного не понял: (надо вынести в отельные файлы, и подключать в шаблоны страниц инклюдом.) Шаблон это template_index.html, а что к нему подключать - то? (только, что модули??? но про них пока забуду). |
| ответить |
|
phpfaq
|
19.09.08 17:12 |
Начнешь делать - разберешься =)
Пока у тебя шаблон сайта в виде
<html><title>title</title>
<body>
Введеный текст:
</body>
</html>
сложно понять, что там надо выносить.
а когда появится нормальный шаблон, то сразу станет понятно =)
Ты говоришь про костяк страницы. а я говорю про костяк сайта.
Меню у тебя где будет с логотипом? |
| ответить |
|
Дмитрий
|
19.09.08 17:15 |
Спасибо
Мне кажется вот этого нюанса не хватает во всех FAQ и книгах, которые я встречал как-то все забегают так далеко... |
| ответить |
|
Дмитрий
|
19.09.08 17:19 |
Меню слева
а логотип сверху
------------------------------|
логотип |
------------------------------|
| меню | | |
| | | |
| | центральная часть| |
| | | |
| | | |
-------------------------------
всякая финтифля
-------------------------------
Вот такая струткура |
| ответить |
|
phpfaq
|
19.09.08 17:20 |
А по-моему - наоборот
Во всех статьях расписывают про шаблон сайта (вот как у тебя в первом примере), но нигде не пишут, что помимо общего шаблона для сайта, должен быть шаблон еще у каждой страницы. А именно в этих шаблонах весь смысл шаблонизации. Вообще тема это широкая, и разных подходов много. |
| ответить |
|
phpfaq
|
19.09.08 17:24 |
Да конкретная-то структура не важна
Важно то, что на всех страницах она будет одна и та же. То есть, прямая дорога вынести её в отдельный файл/файлы и инклюдить в шаблоны страниц. Логично? |
| ответить |
|
Дмитрий
|
19.09.08 17:35 |
Кажется допер!
Так чтоли? http://forum.ixbt.com/post.cgi?id=attach:24:41113:4:2 |
| ответить |
|
Дмитрий
|
19.09.08 17:39 |
Тоесть есть много php файлов
скажем:
index.php
page1.php
page2.php
И в каждом из них мы инклюдим наш шаблон template_index.html !!!! Только в каждой из выше представленных трех страниц передаваемые данные в template_index.html будут отличаться????
Если нет? пойду застрелюсь:))) |
| ответить |
|
phpfaq
|
19.09.08 17:49 |
Стреляться не надо.
Надо начать делать. Тогда все встанет на свои места. А пока все в виде теории, то сложно разобраться. И получаются смешные неувязки. Ну как у тебя может быть один шаблон на все страницы? Как "костяк" сатраницы новостей может вывести данные от опроса? |
| ответить |
|
Дмитрий
|
19.09.08 17:59 |
емое))
спасибо за помощь, попробую сначала сделать связку index.php -> template_index.html, а потом.... фиг его знает, что потом((( |
| ответить |
|
phpfaq
|
19.09.08 18:02 |
Отличная идея.
Только оформление сайта сразу делать нормальное - с шапкой, логотипом и прочим.
А потом сделать еще одну страницу, со своим шаблоном. и тогда сразу станет ясно, что куда. |
| ответить |
|
Дмитрий
|
19.09.08 18:06 |
Значит есть только один index.php
Все данные будут браться из него, а фалов типа template_index.html для которых предназначены эти данные будет много.
Уже третю ночь не буду спать, в голове одни шаблоны, на улице одни шаблоны, просто ужас. Еще раз большущее спасибо, что выдержал и не расстрелял))) |
| ответить |
|
phpfaq
|
19.09.08 18:11 |
Непонятно про индекс
Разумеется, index.php будет один. Зачем два индекса?
И почему у него шаблонов должно быть много - тоже непонятно. |
| ответить |
|
Дмитрий
|
19.09.08 18:19 |
Стучите icq 172756678
Я уже не знаю, сколько и чего должно быть, ограничусь пока простым создам один php и один html )))) |
| ответить |
|
Rotlourrytub
|
29.12.08 18:15 |
ewqtomatdyldrnvarllddqzovauosfzbviwhello guys need advice
zkgatfnkocovjdopwell, hi admin adn people nice forum indeed. how's life? hope it's introduce branch ;) |
| ответить |