Автор Тема: независимость блоков в шаблонах  (Прочитано 3942 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Сергей

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« : 09 Августа 2002, 00:26:10 »
В общем, я на этих шаблонах завис...
Помогите разобраться со следующей проблемой.
Скачал шаблон Е. Кучерова и вот в чем не могу разобраться:
на странице более одного изменяющегося блока, т. е. в этих блоках есть кнопки типа submit, просмотр результатов и т.п.
Как сделать так, чтобы при изменении одного блока не изменялся другой, т.е. как достичь их независимости? Программы этих блоков находятся в разных папках.
Один из блоков загружается по ссылке.
Интересно знать, как организованы такие сайты, где есть, например несколько голосований, и другая ерунда на одной странице?

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
независимость блоков в шаблонах
« Ответ #1 : 09 Августа 2002, 00:50:10 »
т.е. я че-то не врубился совсема...
например я использую на своем сайте webdev.com.ru именно этот класс, правда уже пишу новый, т.к. eval() бесит...
их независимости вот как достигаются:
$tpl1 = new Template("/path/to/tpl");
$tpl2= new Template("/path/to/tpl");

просто создаешь два экземпляра класса...
если правильно понял вопрос...
Удачи

Оффлайн Сергей

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« Ответ #2 : 09 Августа 2002, 09:02:27 »
Блин, я тупой совсем...
Щас попробую...

Оффлайн Сергей

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« Ответ #3 : 09 Августа 2002, 09:48:43 »
Tankist
А как потом эти tpl ы собрать на одной странице?
Сделать главный tpl?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« Ответ #4 : 09 Августа 2002, 12:25:49 »
Сергей
Елки, банальный print всех кусков.
Я так и делаю в конце страницы.
И имею прекрасную возможность извращаться с данными на протяжении всего скрипта, а выводить уже готовый вариант, который собирается во время вывода.
И два объекта совсем ни к  чему.
AS IS...

Оффлайн Сергей

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« Ответ #5 : 09 Августа 2002, 18:27:49 »
У меня такая ерунда получается:
есть табличка написанная на html (main.tpl), в ячейки этой таблички у меня вставляются различные файлы-навигация, заголовок, голосовалка, footer, и  один который определяется через URL. Т.е путь к нему прописывается как http:\\\\www/localhost/home/dog (я url в переменную завел). При первом запуске этой страницы все нормально. Т.е. все загрузилость. Но если я из этой страницы хочу проголосовать в голосовалке, у меня документ про собаку не находится, а голосовалка работает. Как решить эту проблему? Т.е. хотелось бы чтобы на сайте существовали различные папки, в которых сгруппирована информация по темам. В одну из ячеек страныцы эти темы вставлялись по urlу (а может как то по другому?), и голосовалка бы отрабатывалась независимо от того, в какая папка (какой урл) сейчас загружен.
Я ипользую .htaccess.

Оффлайн Сергей

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
независимость блоков в шаблонах
« Ответ #6 : 09 Августа 2002, 23:06:44 »
Ну вот в общем обработчик шаблона:
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\'
не существует.
Т.е. как передать переменные окружения блоку, чтобы они не мешали загрузке блока?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28