Site Calendar

サイトカレンダをスキップ

2010年 09月
«
»
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

ログイン

ログイン

{welcome_msg_jp} 2010年9月11日(土曜日) 09:00 JST

できたー!

   
  • 2007年4月27日(金曜日) 21:40 JST
  • 投稿者:
    ytkm

ついに、記事へのコメント投稿者の名前を入力&表示させるカスタマイズをすることができた。

擬似的やけど。

とりあえず、方法としては、前回書いていた本文中に投稿者名を含めてしまうというのを実行した。

多分、Geeklogを使っている人の中で、強制的にでもこの部分を変えている人は少ないだろう中、擬似的にでもやったことが嬉しい。そもそも、cmsだからゲストユーザで良いと言ったら良いんやろうけど。

数少ない訪問者の方、たまにコメントください。

簡単に言うと、コメント表示部(comment.thml)にある

{lang_authoredby} {start_author_anchortag}{author}{end_author_anchortag} {lang_on}
{date}
ってのを非表示にして、その内容と同じものをcomment.phpがcommentの値を取得している部分に前に強制的にくっつけてしまったのだ。

続きがあるよ。



以下いろんな部分のカスタマイズの結果のソース

comment/comment.thtml

<!-- comment/comment.thtml -->
<div class="comment" style="padding-left: {indent}px">
  <div class="commenttitle">{title}</div>
 
<!--通常の投稿者名表示の部分を非表示にする。
  <div>{lang_authoredby} {start_author_anchortag}{author}{end_author_anchortag} {lang_on}
{date}</div>

-->

  <div style="verticle-align: top">{comments}</div>
  <div>
   <span {hide_if_preview}>
<!--    [ <a href="{reply_link}">{lang_replytothis}</a> {parent_link} {delete_option} | <a href="{site_url}/comment.php?mode=view&amp;cid={cid}" rel="self bookmark" title="{lang_permlink}">#</a> ]-->
    [{delete_option}]

   </span>
  </div>
</div>


japanese_utf-8.php

$LANG03 = array(
    1 => 'コメントの投稿',
    2 => '投稿方法',
    3 => 'ログアウト',
    4 => 'アカウントを作る',
・・・
    27 => '不適切通知',
    28 => '投稿者名' //項目の追加
); 

lib-comment.php
            $comment_template->set_var('lang_instr_line2', $LANG03[20]);       
            $comment_template->set_var('lang_instr_line3', $LANG03[21]);       
            $comment_template->set_var('lang_instr_line4', $LANG03[22]);       
            $comment_template->set_var('lang_instr_line5', $LANG03[23]);       
            $comment_template->set_var('lang_preview', $LANG03[14]);
            //castamize $LANG03[28](投稿者名)の変数名の定義 750行目くらい
            $comment_template->set_var('lang_name', $LANG03[28]);


comment/commentform.thtml・commentform_advanced.thtml

<!-- comment/commentform_advanced.thtml -->
 <script type="text/javascript">
    // Setup editor path for FCKeditor JS Functions
    geeklogEditorBasePath = "{site_url}/fckeditor/" ;
</script>
<script type="text/JavaScript" src="{site_url}/javascript/submitcomment_fckeditor.js"></script>

                                {start_block_postacomment}
                                            <form action="{site_url}/comment.php" method="post" onSubmit='set_postcontent();'>
                                                <table cellspacing="0" cellpadding="3" border="0" width="100%">
                                                    <tr>
                                                        <td align="right" style="width:5em;"><!--<b>{lang_username}:</b>--></td>
                                                        <td>
                                                            <input type="hidden" name="sid" value="{sid}">
                                                            <input type="hidden" name="pid" value="{pid}">
                                                            <input type="hidden" name="type" value="{type}">
                                                            <input type="hidden" name="comment" value="">
                                                            <input type="hidden" name="uid" value="{uid}">
                                                            <!--{username} [ <a href="{action_url}">{lang_logoutorcreateaccount}</a> ]-->
                                                        </td>
                                                    </tr>
                                                   
                                                    <!--castamize投稿者名入力用のテキストボックスを追加する-->
                                                    <tr>
                                                        <td align="right"><b>{lang_name}:</b></td>
                                                        <td><input type="text" name="name" size="32" value="" maxlength="96"></td>
                                                    </tr>
                                                    <!--castamize-->

                                                   
                                                    <tr>
                                                        <td align="right"><b>{lang_title}:</b></td>
                                                        <td><input type="text" name="title" size="32" value="{title}" maxlength="96"></td>
                                                    </tr>
                                                    <tr>


comment.php

function handleSubmit() { //73行目
    global $_POST, $_TABLES, $_CONF, $LANG03 ,$LANG01,$A;
//以下で呼び出せるようにLANG[01]を追加する

//comment.thtmlで非表示にしたものと同意の投稿者名表示欄を用意。
//$_POST['name']はcommentform.thtmlで用意した投稿者名入力フォームの値
 $originalnamevar = "<div>".$LANG01[42].$_POST['name']." ".$LANG01[36]." ".strftime( $_CONF['date'], time() )."</div>";

//以下、よくわからないのでcommenntの値が$_POST['comment']で呼び出されている部分の前にすべて$originalnamevar.を追記する。

";//以下、よくわからないのでcommenntの値が$_POST['comment']で呼び出されている部分の前にすべて$originalnamevar.を追記する。
 

    $type = COM_applyFilter ($_POST['type']);
    $sid = COM_applyFilter ($_POST['sid']);
    switch ( $type ) {
        case 'article':
            $commentcode = DB_getItem ($_TABLES['stories'], 'commentcode',
                                       "sid = '$sid'" . COM_getPermSQL('AND') . COM_getTopicSQL('AND'));
            if (!isset($commentcode) || $commentcode < 0) {
                return COM_refresh ($_CONF['site_url'] . '/index.php');
            }

            $ret = CMT_saveComment ( strip_tags ($_POST['title']),
                $originalnamevar.$_POST['comment'], $sid, COM_applyFilter ($_POST['pid'], true),

                'article', COM_applyFilter ($_POST['postmode']));

            if ( $ret > 0 ) { // failure //FIXME: some failures should not return to comment form
                $display .= COM_siteHeader()
                    . CMT_commentform ($_USER['uid'], $_POST['title'], $originalnamevar.$_POST['comment'], $sid,
                                       $_POST['pid'], $type, $LANG03[14], $_POST['postmode'])

 



以上、こんな感じでやった。

ただし、これだとスレッドのコメントの部分の投稿者名の変更はできないので同カスタマイズをやりたい方はご注意を。

僕はスレッドがややこしくて嫌だったので、無いものにしてやった。

トラックバック

このエントリのトラックバックURL:
http://ytkm.naobun.com/cms/trackback.php/20070427214048901
表示形式
コメント投稿

コメントは投稿者の責任においてなされるものであり、サイト管理者は責任を負いません。

  • できたー!
投稿者は:ytkm on 2007年4月27日(金曜日) 22:46 JST

なんか上手くタグを表示できない・・・