中国インターネット事情

ITを中心に中国の事 もろもろ

XOOPS d3bolgのなんちゃって関連記事表示機能

XOOPS 日本で一番普及しているCMS
しかし、ワードプレスの方が圧倒的に進んでいると思う今日この頃です。

さて、ブログの関連記事を表示したいなと思ってもそんな機能は付いていない。ワードプレスなら簡単ですが。
無いなら自分でつくるということで、適当に作ったのがこれです。

d3blog_main_details.html あたりに貼りつけると、関連記事が表示されます。
ツッコミどころは色々とありますが、直すのも面倒なので、改善したらそのソースを是非公開して下さい。

ソースコード
--------------------------------------------------------------------------------------------
<{php}>

require '../../mainfile.php' ;
if( ! defined( 'XOOPS_TRUST_PATH' ) ) die( 'set XOOPS_TRUST_PATH into mainfile.php' ) ;

$word = $this->get_template_vars('xoops_pagetitle');
$word = mb_ereg_replace(' ', ",", $word);
$word = mb_ereg_replace('!', ",", $word);
$word = mb_ereg_replace('?', ",", $word);
$word = mb_ereg_replace('(', ",", $word);
$word = mb_ereg_replace('「', ",", $word);
$word = mb_ereg_replace('[', ",", $word);

$word = mb_ereg_replace('する', ",", $word);
$word = mb_ereg_replace('の', ",", $word);
$word = mb_ereg_replace('て', ",", $word);
$word = mb_ereg_replace('で', ",", $word);
$word = mb_ereg_replace('に', ",", $word);
$word = mb_ereg_replace('を', ",", $word);
$word = mb_ereg_replace('は', ",", $word);
$word = mb_ereg_replace('く', ",", $word);
$word = mb_ereg_replace('し', ",", $word);

$word = mb_ereg_replace('「', ",", $word);
$word = mb_ereg_replace('」', ",", $word);

$word = mb_ereg_replace('、',",", $word);
$word = mb_ereg_replace('。',",", $word);
$word = mb_ereg_replace('vs',",", $word);
$word = mb_ereg_replace(',,',",", $word);

$data = array("","","","");
$data = split(",",$word);

$word = $data[0];
if ($word ==""){$word = $data[1];}
$wi = mb_strlen($word);
if ($wi < 3){$word = $data[1];};
$wi = mb_strlen($word);
if ($wi < 3){$word = $data[2];};

global_search_base($word,7,0,"370");

function global_search_base($keyword , $limit , $offset, $nowbid){
 $sql = "SELECT bid,title,published FROM b47c5c_d3blog_entry WHERE ";
 $whr = "CONCAT(title,' ',excerpt) LIKE '%$keyword%' " ;
 $sql = "$sql $whr ORDER BY published DESC";
 $db =& Database::getInstance();
 $result = $db->query( $sql , $limit , $offset ) ;
 while( $myrow = $db->fetchArray($result) ) {
            $thisbid = $myrow["bid"];
            $nowbid = $_GET["bid"];

            if ($nowbid != $thisbid){
                $published = date("m/d",$myrow["published"]);
                echo '<li><a href = "details.php?bid='.$myrow["bid"].'">'.$myrow["title"].'</a>'.'('.$published.')'.'</li>';
            }
 }
}
<{/php}>
--------------------------------------------------------------------------------------------