Есть простенький сайт, на простых хтмл страницах. хотелось бы сделать из него простенький сайт на ПХП ... т.е шапку, менюху сверху, может ещё какие мини-блоки , футер ,в ощем собрать шаблон или пару шаблонов оформления, что бы потом эти все файлы не копировать постоянно кодом и после всё перебирать вручную для правки, а добавлять только небольшие хтмл документы с контентом и собирать эти странички
К примеру есть страница (готовый хтмл) ... хотел бы пару блоков глобальных в ней сделать ... и потом на всех страницах измения для шапки и футера или ещё чего-то править в одном месте
... есть какие-то не сложные варианты как из хтмл элементов ( отдельных файлов) собрать целую страницу или пяток страниц к примеру
Вот собственно такая простенькая, для многих, проблемка ... сам пока ничего простого и понятного както не увидел в нэте, хотя наверно не так сильно или не там или не так искал
Сам в скриптах не силён, но не сложное и готовое могу подкорректировать под свои интересы.
Доброго дня ... спасибо за подсказку ... реальная тема для небольших сайтиков
Пара вопросов :
какие лучше файлы использовать, для подключения и сборки? ... я сначала через хтмл попробовал ... но он цепляет всё после поди ... тхт что-то не так отработал, или я может криво что сделал, сейчас остановился именно на такой же записи как у тебя <!--#include virtual="/menu.inc" --> инк создал из текстового документа, просто расширение поменял
но возникли некоторые ляпы, может я что не так или это особенность какая-то про которую я пока не вкурсе:
заметил, что между подключёнными блоками появляется какой-то дополнительный отступ ... в коде( по разработчику) на его месте кавычки есть ... это я что-то не так делаю или это так должно быть?
и ещё прикол - хотел через файл подключить стили и скрипты, типо глобальный файл для подключения стилей и скриптов в хэде, но тоже ляп появился ... на скринах (ниже) всё показал
показал где отступы хотя в исходном коде, не по разработчику, файл для хэда ровно прописан
код с сам по себе, из дримвивера
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> <title>Главная</title>
заметил, что между подключёнными блоками появляется какой-то дополнительный отступ ... в коде( по разработчику) на его месте кавычки есть ... это я что-то не так делаю или это так должно быть?
- документ в utf8 без bom. и не очень понял про кавычки.
не совсем понял вопрос ... дримом я пользуюсь просто как редактором ... есть папка ( в опен сервере, там протестиваю, поскольку просто как хтмл уже не посмотриш) ... в ней все файлы ... выбираю чем открыть, редактирую shtml файл и сохраняю ... просто сохраняю
такой настройки до этого поста вообще не знал, но нашёл её ... я охранял немного по другому, потому не знаю с бомом или безз
..как вариант, если нажать "сохранить как" ... то её видно(чекбокс для неё есть ... его снять или отметить надо?) ... другой вопрос какой юникод в дриме выбирать для сайта в утф8 ? ... по скрину ниже что у меня есть для выбора
это было всё касаемо shtml файлов
Для файлов inc ...
Как и говорил выше ... я их в простом в блокноте сохраняю ... там настройки по скрину и бома там нет как опции для сохранения
пара кавычек отображается ( по разработчику, если посмотреть код через ctrl+U, то в исходном коде их нет, но вместо них пустая строка генерится) перед каждым фрагментом выводимого кода из подключённого файла (смотри скрин выше в сообщении ) ... и именно они, эти кавычки, судя по всему всё-таки занимают какое-то место ( скрин, при котором файл для хэда и в хэде по коду) в итоге в разработчике, причём в исходном коде нормально(показывал скрины выше), подвинул сайт вниз немного
тоже самоё и на реальном хосте ... не только опенсервере, залил, проверил, думал может что-то локально не так работает, .... всё одинаково
в опен сервере, там протестиваю, поскольку просто как хтмл уже не посмотриш
- там есть функция интерактивный просмотр, но это уже неважно. Проверь какая кодировка в подключаемых файлах, должна быть == основному файлу, но без bom. Желательно без лишних пробелов в коде и переводов строк, особенно в конце и начале документа, то бишь должен начинаться и заканчиваться первым и последним символом, а не пустым местом или пробелом.
Я такого не наблюдаю, ни дримвейвер, ни на сервера, значит косяк в файлах. Как вариант - попробуй подключить 1 чистый файл и посмотри на предмет лишних символов.
в основном в конце пробелы были, переносы не стал убирать
- главное что бы их не было в самом начале и в самом конце. Документ должен начинаться с первой строки и заканчиваться на той строке, на которой последний символ.
а если в инк поместить форму ... проблем не должно быть с её работой ... с отправкой данных с этой формы
Если в инк поместить код для аякс окна ... т.е что-то типа кнопки, по клику которой будет вызов, в аяксе, формы ... а с формы отправка сообщения ... возможно, с использованием ПХП майл ...где-то был интересный шаблончик ... и там в корне был файл ПХП майл, а формы там ( в тестовом сайте) почти все были в аяксах
Ну и так ...в плане просто ради интереса - как в принципе эта технология в вэбе? ... имеет применение массовое, или так в исключительных случаях ...я что-то не особо много помню сайтов с расширением shtml ... да наверно ....и не припомню вобще ))
Ну и так ...в плане просто ради интереса - как в принципе эта технология в вэбе? ... имеет применение массовое, или так в исключительных случаях ...
Да нет, не особо распространены. Потому что проще через php все подключать (include();, include_once();). Но ты спросил про “простейший” - вот этот - простейший.
я что-то не особо много помню сайтов с расширением shtml
Ну, не особо важно, директивы выполняются там, где их пропишешь в настройках. Ну а так - есть, я видел и не раз. Старенькие сайты в основном. Или на хостах без php - есть такие хостинги, предоставляют SSI без php, by.ru например - раньше был бесплатный, сейчас не доступен.
вот ... я в принципе и спрашивал(точнее мысленно про него думал ) про инклуд ... я пока в ПХП кроме эха ну и может инклуда не особо то и знаю, и то про инклуд както говорили, но поскольку на юкозе нет (тогда не было) да и просто его в материал всеровно не впишнёш ... то тема отпала тогда
а как простой шаблон, по типу как ты в начале темы кинул для SSI , выглядел бы на ПХП манер?
а как простой шаблон, по типу как ты в начале темы кинул для SSI , выглядел бы на ПХП манер?
Так бы и выглядел, почти:
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head>
<body> <?php include('./header.inc'); ?>
<?php include('./menu.inc'); ?>
<!-- здесь контент любым понятным способом -->
<?php include('./footer.inc'); ?> </body> </html>
- файл должен иметь расширение php или принудительно задать исполнение php кода в html файлах. Задается в настройках сервера (httpd.conf) или через .htaccess
Вот наверно у меня тогда и не получилось ... потому как я так и прописывал, только подключал хтмлы ... а не работало ... в исходнике так кодом и было <?php include('./header.inc'); ?> прописано ... но видимо настройки по умолчанию были потому и не работало
принудительно задать исполнение php кода в html файлах.
это кстати не является дополнительной дырой на сайт?
потом где то нашёл простой шаблон, но там что-то мудрёно ...было ... потом как нибудь кину исходник, который был в качестве примера ... поскольку я именно в скриптах и сценариях не силён, то я там с ходу что-то не въехал ... а ты как то проще объясняешь ... и уже становится интереснее
а ещё в пхп как-то сложновато ссылки на страницу задаются или создаюётся (как правильно сказать то ? ) ... тоже как то не особо пока въехал ... понимаю что параметры для сборки задаются ( вроде как ) но что-то сходу так не вникнуть
Добавлено (08.09.2013, 23:54) --------------------------------------------- ... да про .htaccess ... его надо редактировать для каждого уровня директорий, где расположены файлы хтмл в которых хочется использовать ПХП или достаточно корневрой только поправить ?
Сообщение отредактировал Andrio - Воскресенье, 08.09.2013, 23:57
Вот наверно у меня тогда и не получилось ... потому как я так и прописывал, только подключал хтмлы
Что подключать - не особо важно, хоть txt - шки. Только файл в котором функции подключения должен быть либо php, либо с тем расширением в котором разрешено и выполняются php скрипты.
Настраивается, как и написано выше, в httpd.conf или через .htaccess, если нет доступа к конфигу. В конфиге находится строка типа:
Код
AddType application/x-httpd-php .php .php5 .phtml
и добавляется свой тип файла в котором должен обрабатываться php. Типа:
да про .htaccess ... его надо редактировать для каждого уровня директорий, где расположены файлы хтмл в которых хочется использовать ПХП или достаточно корневрой только поправить ?
.htaccess задает параметры для текущего уровня и для всех вложенных уровней. Соответственно, если во вложенной паке будет свой .htaccess, у него приоритет будет выше, и совпадающие параметры будет переписаны для этой папки и для всех вложенных в нее.
поправил .htaccess, именно для этой директории, т.е внутри этой директории добавил его ( что бы только на вложенные в эту папку хтмл документы так обрабатывались) и прописал там:
.... на локальном сервере всё работает ... залил на хост, но открытие не происходит, а происходит просто загрузка файла, без расширения, с кодом страницы, на комп ... как поправить?
Добавлено (09.09.2013, 18:38) --------------------------------------------- так ... проблему решил с хостером ... надо было .htaccess так прописать
но есть другая трабла ... создавая мини сайты по вложенным директориям домена я при использовании SSI (файлы shtl) писал так
<!--#include virtual="/sluzhba/tel-top.inc" --> - отсчёт с корня домена ( папака html_public) <!--#include virtual="desc-name.inc" --> - отсчёт с самой директории где сложено всё ( в рамках одного вложенного в домен минисайта)
таким образом информация делилась на 2 уровня ... отдельно в рамках мини сайта - для этого имя файла писал без слэша и отсчёт шел именно с самой папки и глобальная - для всех минисайтов ... писал со слэша/название служебной папки в коне домена (html_public)
получалось что я подключал файлы как бы с уровня выше, точнее с соседней папки первого (одного и того же с папкой минисайта) уровня ... папки для минисатов на первом уровне все лежат
и для всех минсайтов нужна была одна служебная с файлами ( в них однотипная инфа - телефоны, время работы, название домена или ещё что-то )
с ПХП такой фокус не прошёл, получается так
со слеша - ничего не выводит с точки со слэшем - отсчет с папки самой без слэша - отсчет с папки самой
как подключить файлы с соседней папки? ... т.е служебная глобальная на одном уровне с папками минисайтов ( все на первом уровне в паблике)
Сообщение отредактировал Andrio - Понедельник, 09.09.2013, 18:42