首頁  >  文章  >  php教程  >  UCenter Home二次開發指南

UCenter Home二次開發指南

高洛峰
高洛峰原創
2016-12-30 16:48:051312瀏覽

前言
本文將就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[] = 'dedemo ';

    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中文網!

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn