[php] Шаблон для страниц сайта.

and-guzij

Hi all. Ламерский вопрос: Есть некоторые элементы обязательные для страницы: верхняя и нижние строчки меню, и.т.п.
Как теперь сделать шаблон, чтобы на основе его можно было создавать новые страницы данного сайта, обладающего этими элементами?

laki

ботай smarty

and-guzij

А на пальцах объяснить можешь?

stm7884696

конечно... пишешь в местах вставки динамического контента функции, выводящие этот контент...
html переименовываешь в php и запускаешь...

and-guzij

Хм, попробую переформулировать вопрос.
Дано:
Есть сайт. В нем странички имеют статичные меню. Если я хочу поправить меню, я должен это сделать в каждой страничке.
Надо: Чтобы при правке в одном месте (шаблоне) правилось на всех страничках.

Trams

ну всё правильно, можно сделать через функции пхп.
создаёшь файл menu.php в котором пишешь все нужные функции (например writebeginig будет выводить начало html-вской странички, через echo/print etc.; writemenu - писать меню и т.д. потом в каждой своей страничке пишешь в начале
<?php include ('menu.php'); ?>
а дальше где надо вызаваешь функции, которые будут выводить это самое меню.
надо будет его изменить - изменишь menu.php и всё.

stm7884696

Хм, попробую переформулировать вопрос.
ХМ, попробую переформулировать ответ:
Навскидку - могу назвать с десяток способов, отличающихся по концепции вывода динамической менюшки и около 100 (больше заломает) - с ее реализацией.
+ если посмотришь в инете - то дохера контор создают сайт на пхп и у каждой из них свой способ.
А ответ на свой вопрос ты дал изначально сам: для того, что бы не менять каждую страницу отдельно нужно сделать динамический вывод меню.
Ну а если теб интересует реализация - то либо ботай сам, либо за 50 баксов я тебе нарисую динамический вывод менюшки древовидной структуры по данным из базы данных.
либо любой другой за обсуждаемый размер вознаграждения.

feliks28

Реализовать меню через фрейм? %)

dasha69


Пришел и всё разрулил

Elina74

А тебе мама в детстве не говорила, что фреймы - это плохо?

feliks28

А тебе говорила? %) Какая продвинутая мама
Ну да, регулярно встречаю высказывания, что фреймы - зло. Но все время забываю, почему...

Elina74

По той причине, что фрейм (<FRAME>) - это страница (или даже две) в странице.
Поисковик индексирует все страницы. Приходя по ссылке на одну из этих внутренних страниц, ты не видишь ее окружения. Т.е. ты видишь сайт не таким, как его задумывал автор.
При переходе по страницам фрейма адрес в адресной строке не меняется. А это неудобно, неясно где ты находишься и как дать ссылку на текущее положение.
Я не очень знаком с <IFRAME>, может быть там дела лучше?

feliks28

решаемо javascript'ом

stm7884696

решаемо javascript'ом
решаемо, только не так лаконично, как звучат эти самые твои слова...
ты напиши сначала решение, а потом скажи, что решаемо.

maggi14

ну, я писал решение. Элементарное. Фреймы - это круто и удобно, если не надо индексироваться на поисковиках, а дизайн позволяет.

feliks28

Семь-десять минут с учетом того, что ждал пока яндекс через gprs загрузится
Может я, конечно, спросонок и накосячил где, или не учел какой вариант, но в том виде в котором есть - вполне лаконично и просто.
Надеюсь под "так лаконично, как звучат эти самые твои слова" не подразумевалось, что нужно в два слова уложиться?
p.s. И, кстати, для того чтобы говорить, что Земля круглая, я не обязан быть космонавтом

stm7884696

ты извини конечно, но ни в осле ни в лисе не заработало...
Или я просто чего не понял?
но при попытке запустить фреймовые файлы он просто сваливался 404...

feliks28

подцепи к корневой апача, там редирект от корневой идет
или слеши начальные в скриптах frame1 и frame2 затри

stm7884696

ладно, признаю.. .все просто до гениальности....
но уже не модно

feliks28

А раньше было модно чтобы вокруг курсора летало "Vasya Pupkin made this site" и что?
Если на хостинге есть только html, то фреймы - самое оно.
p.s. аргументы лучше за раз приводить, а то на выдумку похоже

tokuchu

Юзай mod_includes. Вот это, например, с помощью него и сделано.
Оставить комментарий
Имя или ник:
Комментарий: