首页 > php > UCHome二次开发指南

UCHome二次开发指南

2010年6月3日 发表评论 阅读评论

Ucenter home虽然宣布早就开源了,但网上目前的ucenter home的开发文章太不完整,特整理了一系列uchome入门开发文章将陆续在本站发布,以供学习ucenter home的二次开发.

本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。
数据调用
这里的数据调用是使用UCenter Home内置的数据调用,在后台的“高级应用”里有“数据调用”管理,以下代码都是在模板中添加,然后调用数据。
1.站内数据调用
<!–{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模块调用演示–>
<!–{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的使用
合理的使用Ucenter Home模板语法中的eval语法,会在一定程序上降低二次开发的难度。比如:
1.通过eval语法在模板内执行PHP语句
<!–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’}–>
备注:通过在模板中引入外部文件,你可做任何你想做的事情。
直接外部文件,不推荐
do.php
的扩展,不推荐使用这种方式进行应用扩展,相关文章马上就来.
1.首先,在do.php文件中添加允许的新方法
即在
$acs = array(‘login’, ‘comment’, ‘wall’, ‘register’, ‘lostpasswd’, ‘swfupload’, ‘inputpwd’,
‘sns’, ‘viewspace’, ‘relatekw’, ‘ajax’, ‘seccode’);
之后添加
$acs[] = ‘demo’;
修改后为:
$acs = array(‘login’, ‘comment’, ‘wall’, ‘register’, ‘lostpasswd’, ‘swfupload’, ‘inputpwd’,
‘sns’, ‘viewspace’, ‘relatekw’, ‘ajax’, ‘seccode’,’demo’);
 
2.然后,在source目录下新建do_demo.php文件,调用地址就是do.php?ac=demo
Uchome现在早就开源了,我们从其开源的文件中可以得出进行UCHOME二次开发宝贵的信息。
比如/source/cron这个目录下以及source/class_mysql.php文件都是开源的,我们可以从中找出,对UCHOME进行二次开发非常 有用的一些信息,比如如何进行SQL查询,通过分析,我们可以写出以下文件。
< ?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}–>

总结
当前的UCHOME已经开源,我们不仅仅在模板界面完全可修改,完全可以进行自己应用的开发,鲜有我们不能实现的页面效果和功能需求。
分类: php 标签: , 5,883 次阅读
原文链接:http://www.wenhq.com/article/view_464.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.