本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。过段时间UCH就开源了,准备到时候再详细的写篇UCH机制分析。 前言 顺便说下,这篇文件写在大约两周以前,但是一直没有时间整理发布,今天听说UCH会在最近一段时间开源,到时候再发反而对大家帮助不大,所以决定不再整理,虽然文中一些说明还不详细,但是已经基本成文。 数据调用 <!--{template data/blocktpl/1}--> 2.站外JS调用 <script language="javascript" type="text/javascript" src="http://www.ccvita.com/js.php?id=1"></script> block的使用 <!--block模块调用演示--> <!--{block/sql/SELECT%20%2A%20FROM%20uchome_blog%20ORDER%20BY%20dateline%20DESC%20LIMIT%200%2C8/cachename/test/cachetime/0}--> <!--{loop $_SBLOCK['test'] $value}--> <li class="app-thread"><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]">$value[subject]</a></li> <!--{/loop}--> eval的使用 <!--eval用法演示--> <!--{eval echo '<li class="app-thread"><a href="do.php?ac=demo"><strong>最新日志演示</strong></a>';}--> 2.通过eval语法引入一个外部PHP文件 <!--用eval来include外部文件--> <!--{eval include 'demo.php'}--> 备注:通过在模板中引入外部文件,你可做任何你想做的事情。 直接外部文件 $acs = array('login', 'comment', 'wall', 'register', 'lostpasswd', 'swfupload', 'inputpwd', 'sns', 'viewspace', 'relatekw', 'ajax', 'seccode'); 之后添加 $acs[] = 'demo'; 2.然后,在source目录下新建do_demo.php文件,调用地址就是do.php?ac=demo < ?php !defined('IN_UCHOME') && exit('Access Denied'); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('blog').' ORDER BY dateline DESC LIMIT 10'); $bloglist = array(); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $bloglist[] = $value; } include template('do_demo'); ?> 模板文件templates/default/do_demo.htm内容为 <!--{template header}--> <div class="side_right"> <div class="wide"> <div class="post_list"> <ul> <!--{loop $bloglist $value}--> <li> <div class="title"> <h4><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]">$value[subject]</a></h4> <a href="space.php?uid=$value[uid]">$value[username]</a> <span class="time"><!--{date('Y-m-d H:i',$value[dateline])}--></span> </div> <div class="status"> <!--{if $value[viewnum]}--><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]">$value[viewnum] 次阅读</a><span class="pipe">|</span><!--{/if}--> <!--{if $value[replynum]}--><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]#comment">$value[replynum] 个评论</a><!--{else}-->没有评论<!--{/if}--> </div> </li> <!--{/loop}--> </ul> </div> </div> </div> <!--{template footer}--> 总结 |