discuz門戶文章允許游客評論及添加類似wordpress評論功能

  • 2016-3-28 13:32
  • PHP二次開發
  • 閱讀(33497)
  • 評論(956
  • 摘要: 現版本discuz的門戶功能雖然相比起專業的CMS系統還有一定的差距,但也已具備了比較完善的文章管理系統。那么,在discuz中如何開啟例如wordpress中的游客評論功能呢? 其實也很簡單,discuz本身就已經配有游客用戶組, ...
    現版本discuz的門戶功能雖然相比起專業的CMS系統還有一定的差距,但也已具備了比較完善的文章管理系統。那么,在discuz中如何開啟例如wordpress中的游客評論功能呢? 其實也很簡單,discuz本身就已經配有游客用戶組,只需要我們到 管理后臺設置一下相應的權限即可,但要讓游客在評論的時候能輸入昵稱就需要我們稍微修改一下源代碼了。

    discuz開啟游客評論
    1、進入后臺,用戶--用戶組--系統用戶組--游客--編輯

    2、門戶相關--文章評論字數(設置此用戶組發表文章評論字數限制,設置為0將禁止此用戶組發表評論)

    通過以上兩步,已開啟了discuz文章游客評論的功能,下面我們為游客評論添加昵稱輸入的功能。

    disucz游客評論輸入昵稱

    1、模板文件修改(以下修改皆以默認模板文件作為參照,如你使用自己的模板,請對應修改相應的內容即可)

    在template/default/portal/comment.htm文件中找到

    <form id="cform" name="cform" action="portal.php?mod=portalcp&ac=comment" method="post" autocomplete="off">

    在該行下面加入

    <div class="mytxt">
                                        用戶名:<input class="txt px vm" type="text" name="guestname" value="$_G['cookie']['php2_username']" />&nbsp;&nbsp;<span style="color:red;">*</span><br /><br />
    									郵 箱:<input class="txt px vm" type="text" name="email" value="$_G['cookie']['php2_email']" />&nbsp;&nbsp;<span style="color:red;">*</span><br /><br />
                                        網 址:<input class="txt px vm" type="text" name="url" value="$_G['cookie']['php2_url']" /> 注意加上“http://”哦!<br /><br />
                                </div>


    再在template/default/portal/portal_comment.htm文件中找到

    <form id="cform" name="cform" action="$form_url" method="post" autocomplete="off">

    在該行下同樣加入上面的代碼。

    以下設置評論顯示里顯示游客輸入的昵稱

    在文件template/default/portal/comment_li.htm中找到以下代碼

    $message = censor($message);
    if(censormod($message)) {
    	$comment_status = 1;
    } else {
    	$comment_status = 0;
    }


    把這幾行代碼修改成:

    <!--{if !empty($comment['username'])}-->
    <a href="$comment['url']" target="_blank" name="robots" content="nofollow" class="xi2 xw1">$comment['username']</a>&nbsp;&nbsp;
    <!--{else}-->
    {lang guest}
    <!--{/if}-->


    2、修改PHP保存評論功能

    在文件source/function/function_portalcp.php中找到

    $message = censor($message);
    if(censormod($message)) {
        $comment_status = 1;
    } else {
        $comment_status = 0;
    }


    在這幾行代碼下面加入以下代碼即可
            //為游客評論增加昵稱輸入
            $username = $_G['username'];
            if(isset($_POST['guestname'])){
                    $username = addslashes(trim($_POST['guestname']));
            }  
            if(!$_POST['guestname']){
                showmessage('請填寫您的昵稱');
            }
            if(isset($_POST['url'])){
                    $url = addslashes(trim($_POST['url']));
            }
            if(isset($_POST['email'])){
                    $email = addslashes(trim($_POST['email']));
            }
            if(!$_POST['email']){
                showmessage('請填寫您的郵箱');
            }
    
    		//記錄cookie
    		dsetcookie('php2_username', $username, 86400*30);
    		dsetcookie('php2_url', $url, 86400*30);
    		dsetcookie('php2_email', $email, 86400*30);

    找到代碼:
    $setarr = array(
    		'uid' => $_G['uid'],
    		'username' => $username,
    		'id' => $id,
    		'idtype' => $idtype,
    		'postip' => $_G['clientip'],
    		'port' => $_G['remoteport'],
    		'dateline' => $_G['timestamp'],
    		'status' => $comment_status,
    		'message' => $message
    	);

    修改成:
    $setarr = array(
    		'uid' => $_G['uid'],
    		'username' => $username,
                    'url' => $url,
                    'email' => $email,
    		'id' => $id,
    		'idtype' => $idtype,
    		'postip' => $_G['clientip'],
    		'port' => $_G['remoteport'],
    		'dateline' => $_G['timestamp'],
    		'status' => $comment_status,
    		'message' => $message
    	);


    然后打開數據庫,找到表:pre_portal_comment

    增加兩個字段:url、email,字段類型為:varchar,長度設置成100即可。

    到此為止,已經全部完成了,具體效果請參考PHP二次開發(www.fujvln.live)的文章評論功能,當然你可以為游客的評論設置各種的權限,防止亂發廣告的現象,這些都可以在后臺的用戶組中進行設置。


    PHP技術交流QQ群:422137578

    除非注明,文章均為 PHP二次開發 原創,轉載請注明本文地址:http://www.fujvln.live/article-2172-1.html

    相關閱讀

    發表評論

    最新評論

    引用 賺客啦社區   2017-2-23 19:31
    前來學習一下。
    引用 跨境電商運營   2016-3-31 22:30
    說得不錯~~~~~

    查看全部評論(956)

    用戶名:  *

    郵 箱:  *

    網 址: 注意加上“http://”哦!