UCenter Home二次开发指南
本文最后更新于 5795 天前,其中的信息可能已经有所发展或是发生改变。

前言
本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。过段时间UCH就开源了,准备到时候再详细的写篇UCH机制分析。

顺便说下,这篇文件写在大约两周以前,但是一直没有时间整理发布,今天听说UCH会在最近一段时间开源,到时候再发反而对大家帮助不大,所以决定不再整理,虽然文中一些说明还不详细,但是已经基本成文。

数据调用
这里的数据调用是使用UCenter Home内置的数据调用,在后台的“高级应用”里有“数据调用”管理,以下代码都是在模板中添加,然后调用数据。
1.站内数据调用

<!--{template data/blocktpl/1}-->

2.站外JS调用

<script language="javascript" type="text/javascript" src="https://kimi.pub/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';

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');
?>

模板文件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}-->

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

评论

  1. 16年前
    2008-5-16 15:58:21

    哈哈~

  2. 16年前
    2008-5-18 0:52:31

    前排垂直插入 

    • sniffer
      13年前
      2011-9-11 21:03:47

      @sniffer,

      垂直第二插入,,

  3. sherry
    16年前
    2008-5-19 17:06:35

    早知道 我就不写这个啦http://www.discuz.net/thread-921127-1-1.html

  4. sherry
    16年前
    2008-5-19 17:06:55

    改email

  5. 啦啦啦
    16年前
    2008-5-20 8:15:00

    地震了,你娃都不写个只言片语吗?

  6. 博主
    16年前
    2008-5-20 11:05:52

    @sherry 我这里又不显示,不用改你提案的email了吧

  7. 博主
    16年前
    2008-5-20 11:06:18

    @啦啦啦 木时间哇,天佑中国,我写了也没用,心里低调的祝福吧

  8. 维多利亚coobii
    16年前
    2008-6-25 21:17:47

    真是太棒了。谢谢你的二次开发指南。

  9. 15年前
    2009-3-12 11:51:40

    哈哈。。学习了。

  10. 初生
    15年前
    2009-4-21 0:31:40

    受教了,期待楼主继续。

  11. Spirit_MLY
    15年前
    2009-5-12 12:29:44

    咋就不写了呢?正看的过瘾呢,就没有了.____.

  12. 13年前
    2011-8-21 18:25:55

    正好用上了,期待楼主继续

  13. 12年前
    2011-10-31 13:49:45

    还是不太懂。。但是现在却是迫切需要啊!!!!

  14. PHP
    10年前
    2014-2-27 13:34:32

    博主的代码编辑器好漂亮,不知道是什么编辑器??

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇