![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Kirill Baranov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 30.6.2004 Репутация: -2 Всего: -2 |
Привет всем. Есть у меня шаблон в виде микса HTML и PHP.
Есть файл index.php он делает include моего шаблона и меняет в нём всё, что нужно. Но! Есть маааасенькая загвоздочка. Шаблон построент так, что в нём есть хедер, бади, футер. В бади делается include нужного мне файла PHP. Таким образом и работает сайт. Я описал как можно проще всю структуру. Но вот возникла проблема с тем, что в шаблоне теперь необходимо динамически менять тэг <title></title>. В данном случае я не хочу принципиально использовать MySQL. Подключаемый в бади файл выглядит примерно так:
Теперь переменную $thispage['title'] надо каким-то образом вставить в хедер шаблона в тэг <title></title> Пожалуйста наведите меня на мысль ![]() |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
довольно мутно описано, можно поконкретнее
откуда-то же ты заголовки берёшь, не принципиально из БД или файла, что мешает в шаблоне написать
или как-то иначе |
|||
|
||||
Kirill Baranov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 30.6.2004 Репутация: -2 Всего: -2 |
Ммм... дело в том, что ... Вот иерархия того, как файлы инклюдятся:
--- index.php --- template.php --- some_php_file.php То есть template.php инклюдит some_php_file.php, в котором помимо текста еще и содержится переменная $thispage['title'], в котором и содержится заголовок страницы. А some_php_file.php - это пример. Имя файла может быть любым и файлов может масса. |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
где точно перенная с заголовком, а где строчка <title>?
если в начале идёт переменная, а затем шаблон, то просто подставляется |
|||
|
||||
Kirill Baranov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 30.6.2004 Репутация: -2 Всего: -2 |
Вот именно переменная задаётся в подключаемом конечном файле. То есть сначала идёт шаблон, а уже потом переменная... Если можно как-то кешем, то как?
|
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Только что в соседнем топике объяснял человеку точно с такой же проблемой.
Ну когда же вы перестанете пихать весь сайт в один файл? Почему-то каждый считает своим долгом водрузить на сайт файл index.php, единственной работой которого является вызывать другие скрипты. При этом, разумеется, эти скрипты теряют самостоятельность в куче случаев. В том числе - когда показывать "шаблон". Ну почему нельзя хедер и футер вызывать в самом скрипте? Это же всего две строчки кода. при этом строчки эти вызываются, используя все богатство языка - в нужном месте, по нужному условию. при этом необходимость в скрипте-трутне отпадает при этом адресная строка начинает выглядеть по-человечески, а не как во всех этих мамбах, нюках, и прочем. Не понимаю. От этого общего индекса одни проблемы, но почему-то каждый его использует. |
|||
|
||||
Kirill Baranov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 30.6.2004 Репутация: -2 Всего: -2 |
Спасибо ...
|
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Нормальная структура скрипта (модуля) должна выглядеть так:
1. Выполнение кода, получение необходимых данных, определение шаблона 2. Вызов шаблона. К примеру, скрипт новостей, в зависимости от получаемых данных, может вызвать шаблон списка, шаблон архива, шаблон показа отдельной новости, шаблон сообщения об ошибке. Речь, разумеется, идет о шаблоне приложения. Соединяться шаблон приложения с шаблоном всего сайта могут где угодно - могут вызываться и тот и другой из скрипта, или шаблон сайта вызывать в себе шаблон приложения, или наоборот - шаблон приложения может подключать в себя шаблон сайта. Самая простая структура, с использованием РНР шаблонизатора может выглядеть, как r
Все просто, четко, понятно. При использовании ЧПУ, ведущего на единственный файл, структура не меняется. Поскольку этот единственный ничего не выводит, а только выполняет функцию global_settings.php, и банально инклюдит скрипт приложения, сам не выполняя при этом никаких действий. |
|||
|
||||
Kirill Baranov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 30.6.2004 Репутация: -2 Всего: -2 |
Спасибо большое, уже сделали))) А ЧПУ у меня уже изначально есть. И куча-куча всего еще .... +1 тебе)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |