簡単! Joomla!でサイトを作ろう

  • フォントサイズを増やす
  • デフォルトのフォントサイズ
  • フォントサイズを減少させる

記事にコメントできるようにする

 次は、記事にコメントをつけられるようにしてみましょう。yvComment というエクステンションがありましたのでこれを使ってみます(コメントだけでなくトラックバックにも対応している Jom Comment というエクステンションもあるようですが、こちらは有償なのでパスしました)。この記事で説明する内容は、本家のページに書かれている手順に沿ったものです。より詳しい情報を知りたい場合は、本家のページを参照してください。

yvComment - Commenting solution for Joomla! 1.5

 記事へのコメント機能を提供するエクステンションは、コンポーネント/プラグイン/モジュールのセットで提供されています。以下のサイトからダウンロードできます。

JoomlaCode > プロジェクト > yvComment > ファイル > Frs パッケージの閲覧

 ダウンロードサイトのスクリーンショットです。ファイルがたくさんありますが、このうちの一番下にある 1_yvComment の 1.19.0 にある3つのファイルをダウンロードします。デフォルトでは英語で表示してしまいますので、動作確認後に一部だけ日本語化してみます。日本語化するには、 3_LanguagePackTemplate の yvCommentLanguagePack_en-GP_1.19.000.zip もダウンロードします。

 エクステンションのインストール方法についてはこちらで説明していますので、参照してください。

 最初に yvComment のコンポーネントをインストールしたところ、Joomla! のバージョンが古いと言う警告が出てしまいました。一旦インストールに成功した yvComment コンポーネントをアンインストールします。Joomla! を最新版にアップデートしてから、yvComment を再インストールすることにします。アンインストールせずに Joomla! のアップデートをすれば大丈夫だろうと思いますが、念のため、このような手順を取っておきます。yvComment を使おうと考えている方は、yvComment をインストールする前に、Joomla! を 1.5.7 にアップデートしてください。Joomla! のアップデート手順については、こちらのページにまとめてあります。

 本家のページでは、yvComment のエクステンションとして、顔アイコンを使えるようにする Smiley エクステンションや、キャプチャなども紹介されています。なるべく簡単にするため、ここではこれらのエクステンションは使用していません。それらエクステンションを使用したい方は、yvComment の各エクステンションをインストールする前に、それらエクステンションをインストールしてください。(後からインストールしても問題ないと思いますが・・・)

 以下のスクリーンショットは、Joomla! をアップデートして yvComment コンポーネントをインストールしたところです。今度は警告を表示することなく、インストールできました。

 次に yvComment モジュールをインストールしたところです。問題なくインストールできました。

 そして yvComment プラグインをインストールしたところです。

 3つのエクステンションのインストールが終わったら、yvComment エクステンションの設定を始める前に、yvComment エクステンション用のセクションとカテゴリを用意します。yvComment エクステンションは、入力されたコメントを記事として保存します。その記事を保存するためのセクションとカテゴリを作っておきます。

 ここでは、「コメント」セクションを作成しました。セクションとカテゴリを追加する方法については、「セクション/カテゴリを追加する」で説明しています。

 そして、「コメント」セクションの中に「コメント」カテゴリを作成します。

 yvCommentエクステンションは、コメントは記事として追加するのですが、Joomla! は、サイトにユーザ登録してある人しか記事を書くことができません。ユーザ登録しなくてもコメントを残せるようにするために、ゲストユーザを登録します。このサイトでは、名前は「Guest User」、ユーザ名は「guest」、グループは「発行者」として登録しています。ユーザ登録には E-mail アドレスやパスワードの指定も必要です。yvComment プラグインの設定でユーザを選択する設定項目がありますので、名前やユーザ名は違うものを指定しても問題ないでしょう。

 yvComment エクステンション用のセクションとカテゴリを追加し、ゲストユーザを登録したら、yvComment エクステンションの設定作業を始めます。最初に yvComment プラグインの設定から始めます。管理画面のメニューバーから[エクステンション]-[プラグイン管理]を選択して、プラグインの一覧を表示します。

 プラグイン一覧にあるプラグイン名「yvcomment」をクリックすると、yvComment プラグインの設定画面を表示します。右側のプラグインパラメータでは、多くの項目を設定します。設定項目の詳細については、下の表を参照してください。

 画面右側の、プラグインパラメータの設定項目です。

プラグインパラメータ
Use Content Tableデフォルトの「Yes」では、yvComment はシステムが使用しているデータベースにコメントを保存します。別の方法で保存する場合は「No」を選択します。
Section for commentsコメントを保存するためのセクション(前述の手順で作成したセクション)を選択します。
Category for commentsコメントを保存するためのカテゴリ(前述の手順で作成したカテゴリ)を選択します。
List of Sections IDs of Articles which may, or may not, contain commentsコメントを許可または禁止するセクションのIDを指定します。複数のセクションを指定する場合は、カンマで区切ります。(例: 1,22,15) 空欄にした場合はすべてのセクションにコメントを許可します。
List of Categories IDs of Articles which may, or may not, contain commentsコメントを許可または禁止するカテゴリのIDを指定します。複数のカテゴリを指定する場合は、カンマで区切ります。(例: 1,3,25) 空欄にした場合はすべてのカテゴリにコメントを許可します。
List of IDs of Articles which may, or may not, contain commentsコメントを許可または禁止する記事のIDを指定します。複数の記事を指定する場合は、カンマで区切ります。(例: 1,22,15) 一旦記事にコメントを許可し、既にコメントが存在する記事をコメント禁止に変更しても、コメントは残ったままとなりページにも表示されます。セクション・カテゴリ・記事で指定したIDは、論理和(or)です。
Exclude Sections, Categories and Articles, selected above ('No' - include)上記のセクション・カテゴリ・記事のIDをコメント禁止にするならば「Yes」を選択します。「No」は許可です。
Use CSS fileこのエクステンションに同梱してある4つのCSSファイルの中からコメント表示に使用するCSSファイルを選択します。
Subject of commentsコメントのタイトルを表示する場合は「Show」を選択します。
Comment Linkableコメントのタイトルをリンクするかどうかを選択します。リンク先は、コメントに対応する記事ページです。このオプションは、「Use Content Table」で「Yes」を指定した場合のみ有効です。
Author mentioned byコメントを書いた人の名前を表示するのか、ユーザ名を表示するのかを選択します。
Author name Linkableコメントを書いた人の名前またはユーザ名をリンクするかどうかを選択します。リンク先は、登録ユーザであれば登録してあるURLにリンクし、ゲストの場合はコメント書き込み時点で入力した「Your website」か「E-mail」にリンクします。
Execute content pluginsyvComment用のプラグイン(アバター・BBCode・絵文字・キャプチャなど)を有効にするかどうかを指定します。
Enable Joomla!'s version check warningsJoomla! のバージョンチェックの警告を有効にする場合は「Yes」を選択します。
Allow comments on commentコメントに対するコメントを許可について選択します。このオプションは、「Use Content Table」で「Yes」を指定した場合のみ有効です。
  • 「No」- 最もシンプルな方法です。
  • 「Owner's reply only」- 記事の著者または管理者のみに、コメントに対するコメントを許可します。コメントにつけられたコメントにはコメントできません。
  • 「One level deep」- コメントに対するコメントを1階層だけ許可します。記事によせられたコメントにはコメントできますが、コメントに対するコメントにはコメントできません。
  • 「Threaded comments」- 全てのコメントに対するコメントを許可します。コメントの階層制限はありません。
Editorコメントを入力するためのエディターを選択します。
  • 「Generic editor」- 単なるテキストエリアです。
  • 「WYSIWYG editor」- Joomla! に設定されている WYSIWYG エディターです。この値を選択する場合は「Allow HTML in text of comments」の設定で「Allow row data」を指定する必要があります。
Use Smiley form buttons顔文字ボタンを表示する場合は「Yes」を選択します。(互換性のあるSmileyプラグインをインストールし、有効にしておく必要があります。)
Use BBCode form buttonsBBCodeボタンを表示する場合は「Yes」を選択します。(互換性のあるBBCodeプラグインをインストールし、有効にしておく必要があります。)
Allow HTML in text of commentsコメント内でHTMLタグの使用を許可するかどうかを選択します。
  • 「No」-テキストのみを許可します。
  • 「Allow HTML only」- HTMLタグを許可します。
  • 「Allow row data」-生データを許可します。クラックの危険性を伴います。
Max characters in the text of commentコメントの最大文字数を指定します。
Minimum period between posts of one user, secondsひとりのユーザが連続してコメントできる最短の秒数を指定します。(機械的な連続投稿などを防止するため)
Auto close comments after specified number of days記事投稿後、指定の日数が経過するとコメントの受付を自動的に終了します。
List of Usernames to notify of new or updated commentsコメントが投稿されたことをメールで通知したい場合は、通知先のユーザ名を入力します。複数指定する場合はカンマで区切ります。(例: admin,peter,mike)
Allow guests to add commentsゲストにコメントを許可する場合は「Yes」を選択します。
Username of Guestゲストのユーザ名を指定します。(上述のユーザ管理画面でゲスト用に登録したユーザのユーザ名)
Check guest name「Yes」を選択すると、ゲストが入力した名前が、登録済みユーザの名前と一致するかどうかをチェックし、一致した場合は別の名前を入力するよう警告を表示します。
Guest is required to specify email「Yes」を選択すると、ゲストがコメントを投稿する際、E-mailアドレスの入力が必須となります。
Allow guests to link to a site「Yes」を選択すると、ゲストの名前に「Your website」で入力した URL をリンクします。
Immediately publish guest comments「Yes」を選択すると、ゲストのコメントを即座にページに反映します。「No」を選択した場合は、記事の著者または管理者が許可するまでページに表示されません。
Minimum period between posts of any guest, secondsゲストが連続してコメントできる最短の秒数を指定します。(機械的な連続投稿などを防止するため)
Use Captchaキャプチャを使用する場合は「Yes」を選択します。(互換性のあるキャプチャプラグインをインストールし、有効にしておく必要があります。)
Delay loading captcha image「Yes」を選択すると、キャプチャの画像を遅延読み込みします。
Position of comments on 'article' viewそれぞれの画面の中でコメントを表示する位置を指定します。
  • 「Inside Article box」-記事領域の内部
  • 「Below Article box」-記事領域の下
  • 「Defined by Artile template」-記事テンプレートで定義
  • 「Hide」-非表示
Position of comments on the Frontpage
Position of comments on other views
Link 'Comments(N)' text to other pageテキスト「Comments(N)」を他のページにリンクするかどうかを設定します。(設定を変更してもページに反映されていないようです。)
Show 'Please register'「Yes」を選択すると、記事を参照しているユーザにコメントする権限がない場合に「Please register or login to add your comments to this article」と表示します。
Position of 'Add your comment' form「Add your comment」の表示位置を指定します。
  • 「Below list of comments」-コメントの下に、コメントを書き込むためのフォームを表示します。
  • 「On a separate page」-コメントを書き込むためのフォームを表示しないで、コメント書き込み用の別画面を開く「Add your comment」ボタンを表示します。
Primary Orderコメントの表示順を指定します。
  • 「Oldest first」-古い順に表示します。
  • 「Most recent first」-新しい順に表示します。
Pagination「Show」を選択すると、1ページに表示するコメント数を切り替えるためのリストを表示します。

 次に yvComment モジュールの設定をします。管理画面のメニューバーから[エクステンション]-[モジュール管理]を選択して、モジュールの一覧を表示します。

 モジュール一覧にあるモジュール名「yvcomment」をクリックすると、yvComment モジュールの設定画面を表示します。このモジュールは、ブログなどでよくある「最近のコメント」を画面上に表示するためのものです。このサイトでは試しにつくった程度なので、「最近のコメント」は表示しないままにしておきます。

 コメントのテスト用にひとつだけ記事を作りました。既に yvComment プラグインを有効にしていますので、今ではコメント欄を表示していますが、yvComment プラグインを有効にする前は、コメント欄はありませんでした。

コメントのテスト用

 yvComment プラグインを有効にして、先ほどのテスト用の記事を再読込すると、コメント欄を表示します。このサイトでは、この記事のみにコメントを許可しています。「List of Sections IDs of Articles which may, or may not, contain comments」と「List of Categories IDs of Articles which may, or may not, contain comments」には「0」を入力しています。(空欄にすると全ての記事へのコメントを許可してしまうため) そして、「List of IDs of Articles which may, or may not, contain comments」に「コメントのテスト用」のIDを入力し、「Exclude Sections, Categories and Articles, selected above ('No' - include)」は「No」を選択しています。

 名前、サイトURL、タイトル、コメント内容を適当に入力して、「POST」をクリックします。

 入力した内容で、コメントが登録されました!

 画面上の表示が英語になっています。この部分を日本語に変更してみました。あれ?日本語化の前は「タイトル」と表示してたところが、「Subject」に変わっています。直さないと。。。