首页 > php教程 > PHP开发 > UCenter Home二次开发指南

UCenter Home二次开发指南

高洛峰
发布: 2016-12-30 16:48:05
原创
1361 人浏览过

前言
本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。过段时间UCH就开源了,准备到时候再详细的写篇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数据调用和前面的讲的数据调用,从数据来源和生成来说是基本类似的,。




  • $value[subject]

  • eval的使用
    合理的使用Ucenter Home模板语法中的eval语法,会在一定程序上降低二次开发的难度。比如:
    1.通过eval语法在模板内执行PHP语句


    2.通过eval语法引入一个外部PHP文件
    引入外部文件


    备注:通过在模板中引入外部文件,你可做任何你想做的事情。

    直接外部文件
    do.php的扩展
    1.首先,在do.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
    虽然UCH发布的文件是加密信息,但是我们从其已经开源的文件中可以得出进行UCH二次开发宝贵的信息。
    比如/source/cron这个目录下以及source/class_mysql.php文件都是开源的,我们可以从中找出,对UCH进行二次开发非常有用的一些信息,比如如何进行SQL查询,通过分析,我们可以写出以下文件。

    < ?php
    !defined(&#39;IN_UCHOME&#39;) && exit(&#39;Access Denied&#39;);
    $query = $_SGLOBAL[&#39;db&#39;]->query(&#39;SELECT * FROM &#39;.tname(&#39;blog&#39;).&#39; ORDER BY dateline DESC LIMIT 10&#39;);
    $bloglist = array();
    while ($value = $_SGLOBAL[&#39;db&#39;]->fetch_array($query)) {
    $bloglist[] = $value;
    }
    include template(&#39;do_demo&#39;);
    ?>
    登录后复制

    模板文件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(&#39;Y-m-d H:i&#39;,$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}-->
    登录后复制

    总结
    虽然当前的UCH尚未开源,但是在模板界面完全可修改,合理利用上述数据调用机制的情况下,鲜有我们不能实现的页面效果和数据调用要求。

    更多UCenter Home二次开发指南相关文章请关注PHP中文网!

    相关标签:
    来源:php.cn
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门推荐
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板