TopicsBoardの設置事例 最終更新日:2003/10/05



 

TopicsBoard とは…

   ◆設置サンプル(記事の投稿は出来ません)
   ●ニフティの設置事例サンプル1(同梱スキン)
    ●ニフティの設置事例サンプル2(縦書スキン) <--- 縦書きスキンを作りました。こちらからDownLoad出来ます。
 

スクリプトの入手方法
  ※オリジナル版は「KENT WEB」の「TopicsBoardの解説」ページからDownLoad出来ます。

  ※以下のリンクからニフティ用に画像表示の設定を簡単にした「ニフティ版」がダウンロードできます。
  ●TopicsBoard(nifty版)DownLoad - LastUpdate 2003/10/05 -

 ニフティ版TopicsBoardの圧縮ファイルの中には、以下の14個のファイルが入ってます。
topics.cgi …スクリプト本体(ニフティ版)
topics.dat …ログファイル
topiset.cgi …スキン設定ファイル
tmp.html …スキン用テンプレート
jcode.pl …日本語コードライブラリ
cgi-lib.pl …CGI用ライブラリ
home.gif等 …スキン用画像ファイル(8個)


@nifty対応のディレクトリ構造
   @niftyには、cgi-binにおけるファイルに制限があります。(共通事項
   まず、TopicsBoardを設置する為に以下の様なディレクトリを作成して
   作業を進めます。

   Root/ ←あなたのルートパス
   |
   +--cgi-bin/ ←http://hpcgi▲.nifty.com/■■■■■■ 
   |       |
   |       +--topics/(cgi本体を設置する場所)
   |           
   |
   +--homepage/ ←http://homepage▲.nifty.com/■■■■■■ 
        |
        +--topics/(画像ファイル等を設置する場所)


スクリプトの変更箇所
  ■topics.cgiの設定変更
  テキストファイルの扱えるエディタ等でtopics.cgiを開きます。  
  以下の説明を読んであなたの環境に合わせて各種の設定を変更して下さい。

以下の設定例は、スクリプト本文内の記載順で設定項目を説明しています。
尚、設定例の文字の色の意味は以下の通りです。
●黒い文字…「スクリプトの本文」です。
●青い文字…「通常は変更する必要がない」設定です。
●赤い文字…「ユーザーが任意に変更できる」設定です。
●緑の文字…「設定項目の説明文章」です。
●紫の文字…「設定項目の注意事項」です。

1行目 … perlのパスを@nifty用にする(変更の必要はありません!)
#!/usr/local/bin/perl
#┌─────────────────────────────────
#│ TopicsBoard v1.1 (2003/09/24)
#│ Copyright (c) KentWeb
#│ webmaster@kent-web.com
#│ http://www.kent-web.com/
#└─────────────────────────────────
$ver = 'TopicsBoard v1.1';
#   :
# <中間省略>
#   :
#------------#
# 基本設定  #
#------------#
# 画像ディレクトリとそのURL
$imgdir = '/homepage/topics/';
※画像をアップロードするディレクトリの指定です。このニフティ設置事例通りの場合は変更不用です。
$imgurl = 'http://homepage.nifty.com/■■■■/topics/';
※画像ディレクトリのURLの指定です。このニフティ設置事例通りの場合は変更不用です。
※画像が表示されない時は?
 ニフティのCGI設置では、CGIと同じ場所に画像ファイルを置けません。
 この設置事例では、FTPで/homepage/topics/(URLは、http://homepage▲.nifty.com/■■■■/topics/)という
 ディレクトリの中にスキン用の画像ファイルを転送することを前提に説明しています。
 画像ファイルを格納しているディレクトリのURLをhttp://から正しく指定して下さい(最後の"/"も忘れずに)。
 画像が正しく表示されない理由の大半は、画像URLの指定ミスです。

# 外部ファイル取り込み
require './cgi-lib.pl';
require './jcode.pl';
require './topiset.cgi';
※jcode.pl等の外部ファイルをCGIと同じディレクトリに置く場合はこのままでOKです。(設置事例の指定はこの通りです)

# 本体ファイルURL
$script = './topics.cgi';
本体スクリプト名です。特に変更する必要はありません。

# ログファイル
$logfile = './topics.dat';
投稿記事のログファイル名です。特に変更する必要はありません。

# テンプレート
$tmpfile = './tmp.html';
スキンファイル名です。CGIで使用するスキンのファイル名を変更すると掲示板のデザインが変わります。
初期値には、同梱されている"temp.html"が指定されています。

# 管理パスワード
$pass = '0123';
※管理者モードに入室するときに使用するパスワードです、必ず変更して下さい。

# 投稿受理最大サイズ (bytes)
# → 例 : 102400 = 100KB
$cgi_lib'maxdata = 307200;
新規投稿データの最大値です(テキスト+画像サイズ)この設定を超えるサイズのファイルは投稿できません。

# 画像ファイルの最大表示の大きさ(単位:ピクセル)
# → これを超える画像は縮小表示します
$MaxW = 200; # 横幅
$MaxH = 120; # 縦幅
この設定以上の大きさの画像は縮小表示されます(元サイズの画像に自動リンクされます)。

# 1ページあたり表示件数
$pagelog = 10;
1ページ当りの記事表示数の指定です(5〜20までが適当)。

# 戻り先URL
$home = 'http://homepage.nifty.com/■■■■/index.html';
※トップに戻るページ(貴方のトップページ等)のURLアドレスを指定して下さい。
 niftyの場合、CGIとHTMLファイルのURLが異なりますので、戻り先のページアドレスをhttp://からフルで指定して下さい。
 尚、URL表記の
■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。

# URLの自動リンク (0=no 1=yes)
$autolink = 1;
投稿記事中のURLにハイパーリンクを自動設定します。

#------------#
# 設定完了  #
#------------#


ファイルのアップロード
  スクリプトの変更が完了したら、以下のディレクトリにアップロードして
  各ファイルのパーミッションを下記の通り変更します。

   Root/ ←あなたのルートパス
     |
     +--cgi-bin/
     |       | 
     |       +--topics/(任意のディレクトリ名)
     |             topics.cgi  パーミッション[755]  
     |             topics.dat  パーミッション[666]  
     |             topiset.cgi パーミッション[644]  
     |             tmp.html    パーミッション[644]  
     |             jcode.pl    パーミッション[644]  
     |             cgi-lib.pl  パーミッション[644]  
     |           
     +--homepage/
           |
           +--topics/(任意のディレクトリ名)
                 home.gif (*)
                 next.gif (*)
                 back.gif (*)
                 top.gif  (*)
                 space.gif 
                 menu.gif 
                 left.gif 
                 right.gif 

  ※TopcsBoardでは、(*)印の画像ファイルをキーワードで自動変換します。
   (*)印以外の画像ファイルは、スキンファイルで別途の設定が必要です。
 


リンクの方法
  CGIスクリプトの設定が完了したら、以下の様にホームページからリンクを貼って下さい。
  <a href="http://hpcgi.nifty.com/■■■■/topics/topics.cgi">新着情報</a>

   ※URLアドレスの ■■■■の部分は、自分の @niftyのURLに読み替えて下さい。


スキンファイルについて
TopicsBoardのスキンファイルの簡単な構造と注意点について説明します。
スキンファイルは以下の図の様に「ヘッダ部領域」「記事表示領域」「フッタ部領域」の3つの領域に分かれています。
(1) ヘッダ部領域
(2) <!-- line1 -- > ヘッダ領域の境界
(3) 記事表示領域(ループする部分)
(4) <!-- line2 -- > フッタ領域の境界
(5) フッタ部領域

スキンファイルの「ヘッダ部領域」「記事表示領域」「フッタ部領域」には、テンプレートで使用できる
特殊なキーワードが以下の様に用意されています。

(1) ヘッダ部の表示領域です。
!back! : ページの前ボタン
!next! : ページの次ボタン
!top! : ページのトップボタン
!home! : ホームへの戻るボタン

(3) 記事の表示領域でループする部分です。
!date! : 年月日
!subject! : 記事題名
!comment! : 記事コメント
!image1! : アップロード画像1
!image2! : アップロード画像2
!image3! : アップロード画像3

(5) フッタ部の表示領域です。
!back! : ページの前ボタン
!next! : ページの次ボタン
!top! : ページのトップボタン
!home! : ホームへの戻るボタン

特殊キーワードの働き
例えば、!next!というキーワードをテンプレートの中で使用すると・・・
CGI側で<img src='http://homepage.nifty.com/■■■■/next.gif'>、という命令に変換されます。
TopicsBoardは、特殊キーワードを、back.gif、next.gif、top.gif、home.gif の4つの画像に自動変換しています。
4つの画像のアドレス情報は、"topiset.cgi"の中で設定されています。

特殊キーワードの無い画像の使用について
それでは、特殊キーワードの用意されて無い画像(title.gif等)をテンプレートで使用するにはどうすれば良いでしょう?
<img src='./title.gif'> と指定すると、ニフティの様にCGIと画像を一緒に出来ないサーバーでは表示されません。
<img src='http://homepage.nifty.com/■■■■/title.gif'> では正しく表示されますが、汎用性が失われます。

そこで、ニフティ版では、!imgurl! という新しい特殊キーワードを追加しました。
!imgurl! は、CGI側で画像ファイルのURL(http://homepage.nifty.com/■■■■/)に変換されます。
<img src = '!imgurl!title.gif'> の様に、特殊キーワードの無い画像ファイル名の前に指定するとCGI側で、
<img src='http://homepage.nifty.com/■■■■/title.gif'>、という命令に変換されます。
※ご注意--->これはニフティ版だけの機能です。


CGI設置でお困りの方へ、ニフティの自作CGIの代行設置もおまかせ下さい!


CGIのカスタマイズをご希望の方は「カスタマイズサービス」をご利用下さい。