PHPFAQ  
Начинающим   Технологии   MySQL   Ошибки   Ссылки   Юмор   О сайте   Форум   PHP Club  
-- Список сообщений -- Поиск --
Структура сайта? Какой она должна быть.
Дмитрий 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 ;)
ответить
Написать
Имя:*
Заголовок:*
Вы робот?
Текст:
Пожалуйста, воздержитесь от посылки спама.
Сообщения, содержащие гиперссылки, проходят премодерацию.

© phpfaq.ru, 2010
Rambler's Top100 0.017 sec.