форум вебмастеро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] = 
> includes/t-index.php [4] => Home [5] => Windows-1251 [6] => belarus, Belarus,
belarusian, minsk, Minsk, politics, government,independent view, republic, infor
mation, x-USSR, USSR, Information, travel, tourism, map, images, photo, pictures
[7] => ACI Minsk. Belarus country reference. A guide to the information resourc
es about and from Belarus on the Internet. [8] => blocks/v_menu.php [9] => [10]
=> [11] => [12] => [13] => blocks/front.php [14] => [15] => [16] => [17] => [18]
=> [19] => [20] => [21] => [22] => )


aciminsk
Участник

62
# Дата: 7 Ноя 2006 05:29


» Рамиль
Забей мич не то понял А вот на твоём сайте осталось.....


Да я знаю, оставил пока тестирую что-бы видеть содержание массива и что реально отображается

. 1 . 2 . >>
Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:51180, gzipped size:14497

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]