Svarga
Moderator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Smog, когда начнёшь писать, не забывай, что клиент должен уметь передавать и принимать HTTP-заголовки, а также обрабатывать (отправлять/принимать) cookie. Есть идея сделать, чтоб клиент в запросе отправлял кроме всего прочего дату последнего обновления шаблонов и, если эта дата меньше даты обновления шаблонов, чтоб выдавались и сами шаблоны после всей запрошенной информации. По поводу шаблонов надо решить, в каком виде их выдавать. Предлагаю для шаблона такой формат: все секции разделены по типу ini-файлов или специальными комментариями, так скажем: Секции: 1. описываем, в каком формате выдаются данные разнами скриптами, чтоб клиент знал, куда их в локальную базу засовывать и где их потом в шаблоне выводить 1.1. описываем, формат данных, выдаваемых cl_board.cgi и т.д. напр., Цитата: [DATA] .... [cl_topic.cgi] <users> user|avatar|user_status|page email aim icq|posts|reg|signature <topic> topic_num|topic_name|desc|topic_status|topic_posts_num|author|topic_date|last_author|topic_last_date topic_edit_date <posts> user|post|post_date|show_sign|show_smiley .... | 2. дальше описываем непосредственно шаблоны для разных скриптов и общие куски для всех (шапка, нижняя часть страницы) в виде HTML + переменные, оговоренные в (1), а также некоторые специальные обозначения. Напр., Цитата: [CODE] [header] <html><head> <title><#board_name#> :: <#forum_name#> :: <#topic_name#></title> <style><!-- .post{....} --></style> <script> /* все скрипты форума */ </script> <body> [footer] <p><center> Copyright © <a href="http://www.ikonboard.com/">IkonBoard 2</a>, <a href="http://forum.ru-board.com">Ru.Board Team</a><br> 2000-2004 </center></p> [cl_topic.cgi] <#[header]#> <#for show_posts start_post#> <table> <tr> <td><b><a href="javascript:pasteN('<#user#>')"><#user#></a></b><br> <#user#><br> <img src="<#avatar#>"> </td> <td> <#post#> <#if show_sign#> <hr>---------------------<br> <#sign#> <#end if#> </td> </tr> </table> <#end for#> ... <#[footer]#> | Здесь оговоренные выше данные выводятся в виде переменных <#var_name#>, оговоренные секции (header, footer) выводятся так: <#[name]#>, также контролирующие структуры структуры есть — <#if переменная=1#>выводим нечто<#end if#> и <#for сколько_показать с_какого_номера_начать#>выводим однотипные куски информации, посты, к примеру<#end for#> По-моему, такого вполне достаточно, чтоб организовать работу клиента с данными: при приёме данных — лезем в шаблон, смотрим, что за данные, куда их в локальную базу засунуть, потом выдираем из локальной базы данные, соответствующие запросу, смотрим шаблон, соответствующий запросу и выводим данные согласно оговоренным в шаблоне правилам. Мысли, пожелания, замечания по формату какие будут? Или начинать добавлять поддержку выдачи такого кошмара PS. что-то у меня начинают мысли появляться по поводу написания клиентских скриптов для локального сервера , а потом поставить их на какой-нибудь локальный виртуальный хост типа forum.ru-board.com.client, парсить все ссылки в постах и шаблонах и добавлять после .com — .client, чтоб все браузерные запросы к форуму проходили через локальные скрипты , а выдавать нормальные страницы форума с подправленными ссылками
|