Forum Webscript.Ru
Программирование => PHP => Тема начата: Сергей от 09 Августа 2002, 00:26:10
-
В общем, я на этих шаблонах завис...
Помогите разобраться со следующей проблемой.
Скачал шаблон Е. Кучерова и вот в чем не могу разобраться:
на странице более одного изменяющегося блока, т. е. в этих блоках есть кнопки типа submit, просмотр результатов и т.п.
Как сделать так, чтобы при изменении одного блока не изменялся другой, т.е. как достичь их независимости? Программы этих блоков находятся в разных папках.
Один из блоков загружается по ссылке.
Интересно знать, как организованы такие сайты, где есть, например несколько голосований, и другая ерунда на одной странице?
-
т.е. я че-то не врубился совсема...
например я использую на своем сайте webdev.com.ru именно этот класс, правда уже пишу новый, т.к. eval() бесит...
их независимости вот как достигаются:
$tpl1 = new Template("/path/to/tpl");
$tpl2= new Template("/path/to/tpl");
просто создаешь два экземпляра класса...
если правильно понял вопрос...
-
Блин, я тупой совсем...
Щас попробую...
-
Tankist
А как потом эти tpl ы собрать на одной странице?
Сделать главный tpl?
-
Сергей
Елки, банальный print всех кусков.
Я так и делаю в конце страницы.
И имею прекрасную возможность извращаться с данными на протяжении всего скрипта, а выводить уже готовый вариант, который собирается во время вывода.
И два объекта совсем ни к чему.
-
У меня такая ерунда получается:
есть табличка написанная на html (main.tpl), в ячейки этой таблички у меня вставляются различные файлы-навигация, заголовок, голосовалка, footer, и один который определяется через URL. Т.е путь к нему прописывается как http:\\\\www/localhost/home/dog (я url в переменную завел). При первом запуске этой страницы все нормально. Т.е. все загрузилость. Но если я из этой страницы хочу проголосовать в голосовалке, у меня документ про собаку не находится, а голосовалка работает. Как решить эту проблему? Т.е. хотелось бы чтобы на сайте существовали различные папки, в которых сгруппирована информация по темам. В одну из ячеек страныцы эти темы вставлялись по urlу (а может как то по другому?), и голосовалка бы отрабатывалась независимо от того, в какая папка (какой урл) сейчас загружен.
Я ипользую .htaccess.
-
Ну вот в общем обработчик шаблона:
require_once ("class.Template.php");
$tpl = new Template("templates");
$tpl -> load ("main.tpl,styles.tpl,compass1.tpl,compass.tpl");
$title = "my title";
$URL=getenv("request_uri");
// старт буферизации
ob_start(); //вкл. буфер №1
include "$URL";
$URL = ob_get_contents();
ob_end_clean(); //откл. буфер №1
// конец буферизации
$date=date ("F , Y");
eval("\\$compass1 = \\"".$tpl->get("compass1.tpl")."\\";");
eval("\\$compass = \\"".$tpl->get("compass.tpl")."\\";");
eval("\\$styles = \\"".$tpl->get("styles.tpl")."\\";");
// вывод всей сгенерированной страницы
eval("print \\"".$tpl->get("main.tpl")."\\";");
?>
А проблема вот в чем:
когда урл такой:
http://forums.webscript.ru/showthread.php?threadid=75
блок, который генерится через ob_start() не грузится,
говорит, что страницы
\'http://forums.webscript.ru/showthread.php?threadid=75\'
не существует.
Т.е. как передать переменные окружения блоку, чтобы они не мешали загрузке блока?