![]() |
народ, такой вопрос: как вызвать результат работы скрипта на страницу сайта? особенности таковы, что сама страница, в которую я пишу является файлом tpl то есть темплейтом. получается, что я вызываю скрипт, который подгружает себе темплейт для оыормления и вот из этого темплейта нужно вызвать другой скрипт. как это сделать?
|
если это темплэйт (то-есть что-то вроде html-файла с переменными, подменяемыми обслуживающим скриптом), то как всегда в html - форма, или ssi если это позволено (и темплейт проходит ssi - парсинг на этом сервере)
|
чо то ничего не понял :(
вобщем так: есть скрипт интернет магазина sale.pl чтобы он выглядел под дизайн моего сайта я его загнал в темплейт. то есть сделал два файла top.tpl и bottom.tpl и теперь сам скрипт sale.pl выглядит так сначала всякие установки и т.п. $top="top.tpl" $tpl=new HTMLTMPL; $tpl->src($top); $tpl->output(); в середине тут содержание магазина, книжки, корзина, вобщем все. $tpl=new HTMLTMPL; $tpl->src($bottom); $tpl->output(); но на самом сайте еще есть такой скрипт, который считает количество участников форума и выводит это количество на всех страницах (через exec cgi="counter.cgi") так вот как этот counter.cgi вызвать из файла top.tpl, который обрабатывается файлом sale.pl? про парсинг я что-то слышал а вот как этот парсинг делать? примечание сайт свой в смысле www.name.ru [s]Исправлено: koresaram, 19:00 7-07-2003[/s] |
koresaram
Что такое HTMLTMPL? CPAN search ничего о нём не знает, значит это не "стандартный" модуль -> ничем сходу помочь нельзя. В простейшем случае придётся добавить три строчки в "шаблонизатор", что бы научить его вставлять скрипты. Добавлено: Прошу прощения, кажись просто там поиск не работал, он мне и модуль CGI не нашёл, сейчас в других источниках посмотрю. Добавлено: koresaram Вот документация: http://theoryx5.uwinnipeg.ca/CPAN/da.../HTMLTMPL.html Что непонятного-то? В соответствующем .tpl файле, где надо поставить счётчик вписывается __counter__. Соответственно код для включения файла будет выглядеть примерно так: Код:
open(COUNTER, "| /path/to/your/counter/script") |
ни фига :( попробовал так как ты написал с кодами, но он ничего не показывает. только сверху выдал Content-type: text/html 907 и все. так, а где путь к скрипту пишется там до папки.... а не прямо до скрипта надо путь указать. но все равно не пашет.
вот: http://www.logist.ru/cgi-bin/sale/i-sale.pl в левой колонке снизу "Членов Клуба" и пусто. а вот к примеру из форума, у которого оформление тоже в темплейте www.logist.ru/forum/YaBB.cgi тут все на месте. причем на форуме этот вывод записан как exec cgi="counter.pl" а непонятного тут все из за того, что я перл плохо знаю, только начал изучать. и английский не очень :( а вот про три строчки в шаблонизаторе это ты что имел ввиду? еще вот чего: у меня темплейты не мелкими частями. то есть шаблон сайта это табличка с тремя столбцами. вот все содержание выводится в средний столбик. я просто взял страницу index.htm и поделил HTML код на две части. первая часть кончается на начале среднего столбика, вторая начинается с конца столбика. вот эти две части и есть мои top.tpl и bottom.tpl может дело в этом? [s]Исправлено: koresaram, 12:09 8-07-2003[/s] Добавлено: доигрался до того, что при вышеописанном подходе вместо результата скрипта выводится текст скрипта. |
koresaram
Это был не рабочий код, а просто идея, к тому же я не подумав не там палочку поставил :). Вот работающий пример: tpl.html Код:
smt1: __smt1__ Код:
print "Content-type: text/html\n\n"; Код:
#!/usr/bin/perl -w Код:
Content-Type: text/html Цитата:
Ну примерно тот же, код, но только засунуть его в HTMLTMPL, дабы он сам искал места где нужно вставить результат некоторого скрипта. Но, думаю, тебе это не нужно. |
Время: 23:46. |
Время: 23:46.
© OSzone.net 2001-