Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2024, 23:23   #1
kuzduk
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 61
Вопрос Header подгружаемый на всех страницах, без сборщиков, без инструкций в файлах с контентом

Всем привет. Прошу помощи в следующем вопросе: нужно чтобы какую страницу ни загрузи на сайте, чтобы сверху всегда подгружался header.html. Обязательно, чтоб не было файлов-сборщиков, и не нужно было добавлять во все страницы с контентом инструкции по подгрузке шапки, т.е. сервер сам должен подгружать к любой странице шапку - инструкции даются серверу - как это можно сделать? Всё найденное мною и прочитанное про php, frame, iframe, SSI - либо файлы-сбощики, либо добавление в файлы с контентом инструкций по добавлению блоков типо include, а нужно чтоб сервер сам добавлял - одна глобальная команда для сервера для любой вызванной страницы.

Вот мой сайт: https://kuzduk.ru - построен на html frame. Файлы с контентом и head.html конструируются файлами сборщиками, от которых хотелось бы избавиться.

Например, страница с контентом: https://kuzduk.ru/kataloger/kataloger.html - вызываем её, она загружается без шапки, но если вызвать https://kuzduk.ru/kataloger/ (т.е. https://kuzduk.ru/kataloger/index.html) то запустится index.html который является сборщиком на фреймах, имеет такой код:


Код HTML:
<frameset rows="60, *" frameborder="0" framespacing="0">
<frame src="/head/" name="frhead"   id="frhead" scrolling="No"   marginheight="0"   marginwidth="0" noresize >
<frame src="kataloger.html" name="frosn"    id="frosn"  scrolling="auto" marginheight="10"  marginwidth="100"   frameborder="0" >
</frameset>
мне же нужно чтобы сервер выполнял подгрузку head.html к любой страницы, выражаясь синтаксисом html frame, что типо такого :

Код HTML:
<frameset rows="60, *" frameborder="0" framespacing="0">
<frame src="/head/" name="frhead"   id="frhead" scrolling="No"   marginheight="0"   marginwidth="0" noresize >
<frame src="ЛЮБАЯ_СТРАНИЦА"    name="frosn"    id="frosn"  scrolling="auto" marginheight="10"  marginwidth="100"   frameborder="0" >
</frameset>

Например вот эти советы не подходят:

Цитата:
Самое простое - использовать SSI (Server Side Includes).
1. Создаем файл header.html и в него записывает то, что надо размножить.
2. В файле .htaccess делаем запись типа такой, где перечисляются расширения файлов, в которых можно делать инклюды:
AddHandler server-parsed .shtml .shtm .htm .html
3. В коде страниц, куда надо вставить содержимое файла header.html пишем:
<!--#include file="header.html"-->
В итоге один и тот же блок будет показываться на всех страницах. У сервера он будет сидеть в кэше. Править теперь достаточно в одном месте, а не на всех страницах.
Пункт 3 подразумевает вписывание инструкций в файл с контентом - этого я пытаюсь избежать.



Вариант на php подразумевает в писывание интсрукций по разделению страницы в тело файла с контентом - что тоже не приемлемо:
Цитата:
В файле index.php прописать:
<?php
require '<путь к файлу с header>';
?>
<КОНТЕНТ>
<?php
require 'путь к файлу с footer';
?>
мой сайт: kuzduk.ru
kuzduk вне форума Ответить с цитированием
Старый 01.04.2024, 08:04   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

какова цель такого извращения?
адекватные люди делают именно так - вписыванием инструкций в нужные места в нужные файлы....

теоретически сделать можно - написав свой веб-сервер .. который всегда кроме того что обычно нужно, будет отдавать и вашу фигню... но это нахрен никому не нужно, сложно и еще раз - не нужно
ADSoft вне форума Ответить с цитированием
Старый 01.04.2024, 21:34   #3
kuzduk
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 61
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
адекватные люди делают именно так - вписыванием инструкций в нужные места в нужные файлы....

теоретически сделать можно - написав свой веб-сервер .. который всегда кроме того что обычно нужно, будет отдавать и вашу фигню... но это нахрен никому не нужно, сложно и еще раз - не нужно
НУ и ворчуууун! "Извращение", "не адекватный", "фигня", "это нахрен никому не нужно"... Доброжелательность ADSoft зашкаливает! Зашкаливает в отрицательную сторону как и аргументированность. Одна эмоциональная критика и никакого конструктива. Это точно форум программистов? Старожил снизошёл до новичка на форуме и выразил своё ЧСВшное мнение никак не аргументировав его... Вот поэтому на форумы молодняк и не приходит - не приятно когда тебе без объяснений в лицо кидают, что ты дурак и ничё не понимаешь. Да, я не понимаю - и прошу объяснений, а не бурчания говняного.

Цитата:
Сообщение от ADSoft Посмотреть сообщение
какова цель такого извращения?
Цель "извращения": МНЕ ТАК НАДО ЧТОБЫ РАБОТАЛО. (очевидно) Хочу одну команду серверу дать, а не вписывать каждый раз инструкции разметки в каждый файл с контентом, и от файлов сборщиков избавиться, чтоб вообще лишнего не было. Об этом написано в первом сообщения - чего тут непонятного?


ADSoft, если ты не знаешь, и не умеешь реализовать вопрошаемое из первого сообщения, и тебе нечего посоветовать - то зачем писать что енто фигня не нужная? Уровень некомпетентности и безаргументное эмоцианоальное мнение - вот что точно фигня так фигня. Тема посвящена решению конкретной поставленной задачи, поэтому, если есть чем помочь - пишите. Если считаете, что такое не реализовать или очень сложно реализовать - пишите критику обязательно, называйте бредом, фигнёй, но обосновывайте пожалуйста, чтоб было понятно почему не стоит таким заниматься.
мой сайт: kuzduk.ru
kuzduk вне форума Ответить с цитированием
Старый 02.04.2024, 09:36   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

Прочтите про проблему XY (ошибка молотка) https://ru.wikipedia.org/wiki/%D0%9F...2%D0%BA%D0%B0)

В вашем случае - ну самое то .... "Вот мне надо" ... да не надо.... если делаете сайт с использованием шаблонов каких нибудь и шаблонизаторов, там в шаблоне общем достаточно один раз прописать хоть шапку, хоть футер .. хоть что.... а весь вывод осуществлять через этот шаблон... и вопрос снимается.

Но конечно же надо реализовывать все через "единую точку входа" ... и желательно по MVC архитектуре для простоты восприятия....

сайты делать через фреймы - давно устарело и неактуально...

Если очень просто: ВСЕ вызовы сайта направляете на index.php, который занимается отрисовкой сайта... вот там и отрисовывайте шапку.. футер и что хотите

Последний раз редактировалось BDA; 02.04.2024 в 15:25. Причина: поправил ссылку
ADSoft вне форума Ответить с цитированием
Старый 02.04.2024, 16:51   #5
kuzduk
Пользователь
 
Регистрация: 02.01.2010
Сообщений: 61
По умолчанию

Цитата:
В вашем случае - ну самое то .... "Вот мне надо" ... да не надо.... если делаете сайт с использованием шаблонов каких нибудь и шаблонизаторов, там в шаблоне общем достаточно один раз прописать хоть шапку, хоть футер .. хоть что.... а весь вывод осуществлять через этот шаблон... и вопрос снимается.
Вот это совет по существу! Благодарю. Какие шаблонизаторы посоветуете и почему?



Цитата:
Если очень просто: ВСЕ вызовы сайта направляете на index.php, который занимается отрисовкой сайта... вот там и отрисовывайте шапку.. футер и что хотите
Это фишку знаю, разметка страниц задаётся адресной строкой, что наглядно разложил один доброжелательный товарищ на своём сайте (в разделе include): http://nevor.ru/stati/sajtostroenie/...s-yazykom-php/ - но это немного не то, чего я хочу. Да данный php подход позволяет избавиться от инструкций разметки во всех файлах и от файлов-сборщиков, но вместо них команды нужно описывать в адресной строке - это уже лучше, безусловно, но хотелось бы чтобы напрямую какую страницу не вызови с сайта, без дополнительных команд в адресной строке, то чтоб шапка подгружалась.



Цитата:
Прочтите про проблему XY (ошибка молотка) https://ru.wikipedia.org/wiki/%D0%9F...2%D0%BA%D0%B0)
Не спорю, что я могу не понимать всех тонкостей работы сервера - я не опытный веб-программист. Поэтому мой запрос по реализации решения поставленной задачи может быть неудовлетворён в силу сложности реализации или вообще невозможности реализации. Я вот понятия не имею можно или нельзя так сделать и уж тем более как это сделать - поэтому и темы на форумах создаю, обращаясь к более умным опытным прогерам. Но дык вы по умному и объясните тадыть:
Цитата:
Сообщение от kuzduk Посмотреть сообщение
Если считаете, что такое не реализовать или очень сложно реализовать - пишите критику обязательно, называйте бредом, фигнёй, но обосновывайте пожалуйста, чтоб было понятно почему не стоит таким заниматься.
А пока проблема коммуникации описанная в статье про ХУ наблюдается с вашей стороны, потому что ваша критика желаемого мной без объяснений.
мой сайт: kuzduk.ru
kuzduk вне форума Ответить с цитированием
Старый 03.04.2024, 10:19   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,179
По умолчанию

Цитата:
Сообщение от kuzduk Посмотреть сообщение
Вот это совет по существу! Благодарю. Какие шаблонизаторы посоветуете и почему?
Любые - которые знаете.... из популярных и известных twig, smarty, blade .... да хоть на самом php с include итд

Цитата:
Сообщение от kuzduk Посмотреть сообщение
Это фишку знаю, разметка страниц задаётся адресной строкой
Бред какой-то .... адресной строкой задается адрес, а что отображать по данному пути - решает ваш маршрутизатор... абсолютно непонятно что вы имеете ввиду под словом - команды в адресной строке

Мне до сих пор непонятно - чего вы хотите.... попробуйте объяснить на конкретном примере
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти информацию во всех файлах inkognitik Общие вопросы C/C++ 5 14.12.2015 20:06
Работал на всех страницах, манифест Predator199 JavaScript, Ajax 0 02.04.2014 22:05
Как добиться, чтобы при изменении шапки на одной веб-странице шапка на всех веб-страницах менялась автоматически? Michael_Ardan HTML и CSS 4 23.02.2013 13:50
доступ к переменной во всех файлах. gignet Общие вопросы C/C++ 6 13.06.2010 21:24