Программирование => Perl => Тема начата: от 28 Февраля 2002, 17:27:04
Название: Проблема с CGI::FastTemplate
Отправлено: от 28 Февраля 2002, 17:27:04
У меня есть простенький шаблон всего с одной переменной, использую списки стилей через link rel="stylesheet" href="style.css" при этом страница грузиться не хочет. Апач ничего не пишет. Если описывать стиль прямо в шаблоне то все ОК, выводит как надо. Можно конечно слепить шаблон со стилями и вставлять в каждую страницу где нужно, но все-таки хочется сделать по человечески. Может кто знает?
Название: Проблема с CGI::FastTemplate
Отправлено: ЖеньКа от 01 Марта 2002, 11:15:44
а попробуй
Мало ли
Название: Проблема с CGI::FastTemplate
Отправлено: от 02 Марта 2002, 13:45:31
Ничего к сожалению не помогает. Может автор перевода статьи по этому модулю Green Kakadu знает?
Название: Проблема с CGI::FastTemplate
Отправлено: Green Kakadu от 05 Марта 2002, 14:03:21
Цитировать
Ничего к сожалению не помогает. Может автор перевода статьи по этому модулю Green Kakadu знает?
наверное вы где то ошиблись - модулю все равно что вставлять куда вставлять, главное чтоб было указано откуда и куда - проверьте шаблоны/программу
кстати, если нужно заменить лишь всего одну переменную, то ИМХО неразумно использовать модуль, можно сделать проще:
$value=\'значение\'; $templ~=s/<%template_var%>/$value/g; #g- если возможно несколько однотипных вставок
Название: Проблема с CGI::FastTemplate
Отправлено: от 08 Марта 2002, 14:25:37
По поводу всего одной переменной скажу, что специально максимально упростил шаблон и программу, чтобы локализовать ошибку. Которую все равно найти не могу, ниже привожу текст скрипта и шаблона, буду ОЧЕНЬ БЛАГОДАРЕН если кто-нибудь ткнет носом в ошибку.
(у меня localhost на Apache под Win98)
===шаблон index.tpl в z:\\templates===
$TITLE
===скрипт=== #!/usr/local/bin/perl use CGI::FastTemplate; $tpl = new CGI::FastTemplate();
print("Content-Type: text/html\\n\\n");
$tpl->set_root("z:/templates");
$tpl->define(main => "index.tpl" );
$tpl->assign(TITLE => "Title");
$tpl->parse(CONTENT => "main");
$tpl->print();
Название: все правильно
Отправлено: Green Kakadu от 09 Марта 2002, 23:57:39
у вас все правильно. возможно только надо использовать не use CGI::FastTemplate; а require "FastTemplate.pm"; Т.е. если модуль инсталлирован, то use, а если нет, то require + путь к нему. А так все нормально, у меня работает (я его маленько ихменил, но суть та же):
#!/usr/bin/perl -w require "FastTemplate.pm"; my $tpl = new CGI::FastTemplate();
print("Content-Type: text/html\\n\\n");
$tpl->define(main => "index.pl" ); $tpl->assign(TITLE => "Title"); $tpl->parse(CONTENT => "main"); $tpl->print(); #Лучше все же использовать $tpl->print(\'CONTENT\'); # ну а можно и иначе: #my $content=$tpl->fetch(\'CONTENT\'); #print $$content;
Название: Проблема с CGI::FastTemplate
Отправлено: от 12 Марта 2002, 15:01:28
Спасибо за ответ но ничего из предложенного по-началу не помогало. Потом я решил взглянуть как собрана гл. страница этого сайта(то бишь WebScript.ru). Там я обнаружил вот что : Недолго думая я ставлю слэш перед style.css и ВСЁ РАБОТАЕТ! Надо сказать не очень понятно почему работает, но это и неважно. Думаю это скорее проблема с настройкой моего Апача.
Thanx всем за помощь!
Название: Проблема с CGI::FastTemplate
Отправлено: NAS от 12 Марта 2002, 15:44:30
Цитировать
href="style.css">
Вот так браузер ищет style.css в текущей директории