前言
本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。过段时间UCH就开源了,准备到时候再详细的写篇UCH机制分析。
顺便说下,这篇文件写在大约两周以前,但是一直没有时间整理发布,今天听说UCH会在最近一段时间开源,到时候再发反而对大家帮助不大,所以决定不再整理,虽然文中一些说明还不详细,但是已经基本成文。
数据调用
这里的数据调用是使用UCenter Home内置的数据调用,在后台的“高级应用”里有“数据调用”管理,以下代码都是在模板中添加,然后调用数据。
1.站内数据调用
2.站外JS调用
block的使用
这个block数据调用和前面的讲的数据调用,从数据来源和生成来说是基本类似的,。
eval的使用
合理的使用Ucenter Home模板语法中的eval语法,会在一定程序上降低二次开发的难度。比如:
1.通过eval语法在模板内执行PHP语句
引入外部文件
备注:通过在模板中引入外部文件,你可做任何你想做的事情。
直接外部文件
do.PHP的扩展
1.
首先
,在do.PHP文件中添加允许的新方法即在
$acs = array('login','comment','wall','register','lostpasswd','swfupload','inputpwd',
'sns','viewspace','relatekw','ajax','seccode');
'sns','viewspace','relatekw','ajax','seccode');
之后添加
$acs[] = 'demo';
2.
然后
,在source目录下新建do_demo.PHP文件,调用地址就是do.PHP?ac=demo虽然UCH发布的文件是加密信息,但是我们从其已经开源的文件中可以得出进行UCH二次开发宝贵的信息。
比如/source/cron这个目录下以及source/class_MysqL.PHP文件都是开源的,我们可以从中找出,对UCH进行二次开发非常有用的一些信息,比如如何进行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');
?>
!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内容为
总结
虽然当前的UCH尚未开源,但是在模板界面完全可修改,合理利用上述数据调用机制的情况下,鲜有我们不能实现的页面效果和数据调用要求。 原文链接:https://www.f2er.com/php/29205.html