Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Можно ли сделать динамический title (http://forum.oszone.net/showthread.php?t=65836)

SergOst 17-05-2006 23:41 439257

Можно ли сделать динамический title
 
Я - неопытный в вопросах вебпрограммирования, поэтому мой вопрос для некоторых может показаться странным:

У меня заголовок страницы берется из тега <title> в файле page.tmpl, а содержимое страницы может меняться в зависимости от действий посетителя по коду PHP из файла ruler.php

Можно ли как-то сделать, чтоб содержимое тега <title> менялось в зависимости от значения переменных в ruler.php ?
Где об этом почитать, если можно?

Vlad Drakula 17-05-2006 23:47 439261

SergOst
можно... нужно просто вставить в нутрь заголовка значение переменной с нужным значением...

SergOst 18-05-2006 18:29 439579


Цитата:

можно... нужно просто вставить в нутрь заголовка значение переменной с нужным значением...
Это как? Юмор что-ли?
Я понимаю "значение переменной с нужным значением" это константа, или нет?

Например могу ли я

<title> текст1 текст2 $varC текст3 </title> написать в page.tmpl

а значение переменной $varC будет меняться в другом файле ruler.php и непонятно почему передаваться в файл page.tmpl ?

benya 18-05-2006 19:59 439623

page.tmpl - это что-то похоже на шаблон. ;)) Тогда в нем дожно быть что-то такое (не обязательно) :
<title>${title}</title>

Почитать можно здесь



Igor_I 18-05-2006 21:14 439672

Цитата:

У меня заголовок страницы берется из тега <title> в файле page.tmpl
И в каком виде он там записан? То есть явно или через переменную?

SergOst 20-05-2006 21:44 440386

Цитата:

И в каком виде он там записан? То есть явно или через переменную?
Сейчас он записан явно, русским текстом, потому и постоянен.

Цитата:

page.tmpl - это что-то похоже на шаблон. ) Тогда в нем дожно быть что-то такое (не обязательно) :
<title>${title}</title>

Почитать можно здесь
Если я вставляю ${title}, то этот текст и высвечивается в заголовке, т.е. значение переменной $title из другого файла (ruler.php), где я его задал, не передается.
В документации написано про шаблоны с расширением *.tpl и про FastTemplate, которого у меня нет.
(Я понял что FastTemplate это нестнадартное дополнение к php3, написанное Jason Moore, а у моего провайдера только стандарт стоит)
У меня страница собирается в файле index.php следующим образом:
<?PHP
require("page.tmpl");
require("ruler.php");
require("footer.tmpl");
?>
Писал сайт не я, мне дали задание, как админу, изменить.
Если я буду изменять часть шаблонов с tmpl на tpl, то будет ли все это работать?
Хорошо бы разобраться именно с tmpl. Сервер - Linux, Apache, page.tmpl имеет в реальности имя header.tmpl (если это важно),
а ruler.php - center.php.

benya 21-05-2006 21:13 440691

Тяжело Вам будет это сделать, полагаю ;) Ссылку я дал для наглядности, просто что бы Вы посмотрели пример работы шаблонизатора. Так как Вы не предоставили хоть кусочек этих Ваших tmpl - точно кроме Вас самих что в вашем коде никто не скажет.
Какая разница между *.tmpl и *.tpl? Никакой! Это расширение файла и оно ничего не означает. Возможно кусок html с певдопеременными или без. В вашем случае скорее всего не используется никакого шаблонизатора (могу ошибаться).
page.tmpl - шапочка страницы.
footer.tmpl - подвал страницы.
Если Вы генеируете title из ruler.php, а ruler.php отрабатывает позже чем выводится на печать page.tmpl как вы можете там что-то заменить? (если я правильно понял)

P.S. Заменить можно регулярными выражениями. Поместить в переменную содержимое page.tmpl, найти совпадение <title></title> и заменить на нужное значение. Вуаля!

XCodeR 21-05-2006 21:29 440697

Цитата:

P.S. Заменить можно регулярными выражениями. Поместить в переменную содержимое page.tmpl, найти совпадение <title></title> и заменить на нужное значение. Вуаля!
что-то мне подсказывает, что не "Вуаля"....)

Arrest 21-05-2006 23:50 440726

А можно hidden-поле в ruler.php? А потом GET'ом его в page.php и там уже на месте писать? Минусы - страница не .tmpl, а .php. Сойдет?

Igor_I 22-05-2006 00:05 440729

Файл header.php (надо переименновать)
PHP код:

<?php     
ob_start
(); 
 
?>  
<html>   
 <head>    
<title>$title</title>  
</head>    
<body>   
 <?php    
$header 
ob_get_contents();    
ob_end_clean();  
?>

В файл ruler.php добавить эти строки, перед остальными.
PHP код:

$new_title '****';   
$header preg_replace("/<title>(.*?)<\/title>/""<title>$new_title</title>"$header);   
echo 
$header

http://php.rinet.ru/manual/ru/function.ob-start.php
см. сообщение от Алексея


Время: 22:57.

Время: 22:57.
© OSzone.net 2001-