小規模Webサイト向け CMS 「すぐ使えるCGI」のサポート情報

サマリー(記事の要約、抜粋)を手動編集する方法

最終更新日: 2014-05-18

CMS「すぐ使えるCGI」の管理画面から、登録した記事内容のサマリーを手動編集する方法をご説明します。

サマリーとは?

サマリーとは記事の要約、または抜粋の事です。「すぐ使えるCGI」の初期設定では「記事内容」の先頭から一定文字数を自動で取り出して RSS ファイルに表示しています。

サマリーの用途

サマリーは RSS だけでなく、記事ページのメタタグの description (<meta name="description">)にしたり、目次に抜粋として表示する事もできます。分かりやすい説明をページの description として入れておくと SEO対策(検索エンジン最適化)としても効果的です。

サマリーの編集とは?

CMSでサマリー(description)の編集

初期設定のままの自動での切り出しだと文章が途中で切れてしまうことが多いですが、手動編集すればより的確な要約にする事ができます。

「すぐ使えるCGI」では、管理画面のテンプレート編集により、手動編集用のサマリー欄を表示させる事ができます。

また、編集用のサマリー欄を追加すると、CMSから登録する記事ごとに以下のいずれかを毎回選択できます。

  • サマリーを手動編集する
  • 本文(記事内容)から自動抜粋
  • 空欄にする

サマリーの編集に対応している製品

Ver. 2.0 以降の全製品

サマリー編集欄の設定方法

管理画面用テンプレートを編集してサマリー欄を追加しますが、製品のバージョンが Ver. 4.3 までと Ver. 4.4 以降で編集内容が異なります。後述の説明の中からお使いの製品に該当する方を選んで作業して下さい。製品のバージョンは、利用している管理画面の「ライセンス情報」画面や、admin/admin.cgi ファイルの冒頭に表示されています。

なお、「編集済サンプル」(または「デモ」)としてダウンロードした製品は、サンプルコードと初期設定のテンプレートが異なっていたり、既にサマリー欄を別の目的で利用していてサマリー編集欄の追加ができないものがあります。変更の概要は「summary」の欄を追加していくことですので、この名前の欄が既にあるかどうかを確認しながら編集を行って下さい。お手元の製品ファイルがこのケースに該当するかは、templates.default/ というディレクトリが含まれているかで判断して下さい。templates.default/ というディレクトリがあればそれはサンプルとして「編集済」の製品です。

入力画面 templates/admin/2.html の編集

入力画面のテンプレートファイル templates/admin/2.html を編集ツールで開いて下さい。

Ver. 4.3 以下の場合: templates/admin/2.html 編集例

Ver. 4.3 以下の製品の場合、入力フォーム内の任意の位置に、サマリー入力欄を追加して下さい。以下の赤字が追加部分です。

<TR>
<TH CLASS="titem">タイトル※</TH>
<TD CLASS="contents"><INPUT name="subject" type="text" size="80"
maxlength="100" VALUE="%_subject_%" onFocus="set_imemode(this, 1)">
</TD>
</TR>
<TR>
<TH CLASS="titem">サマリー</TH>
<TD CLASS="contents">
<TEXTAREA name="summary" id="summary" cols="60" rows="3"
onFocus="set_imemode(this, 1)">%_summary_%</TEXTAREA>
</TD>
</TR>
<TR>
<TH CLASS="titem">記事内容※</TH>
<TD CLASS="contents">
<TEXTAREA name="body" cols="60" rows="10"
onFocus="set_imemode(this, 1)">%_body_%</TEXTAREA>
<!-- input format begin -->

Ver. 4.4 以上の場合: templates/admin/2.html 編集例

Ver. 4.4 以上の製品では、サマリー欄が非表示の状態で予め追加してあります。非表示設定を止めるために、style属性の設定を削除して下さい(青字部分)。

<tr style="display: none;">
<th class="titem">サマリー</th>
<td class="contents"><textarea name="summary" cols="60" rows="3" class="imeauto" id="summary">%_summary_%</textarea>
</td>
</tr>

確認画面 templates/admin/3.html の編集 その1:確認表示

確認画面のテンプレートファイル templates/admin/3.html を編集ツールで開いて下さい。

Ver. 4.3 以下の場合: templates/admin/3.html 編集例

Ver. 4.3 以下の製品の場合、入力画面でサマリー欄を追加したのと同じ位置に、サマリー確認用の表示を追加して下さい。以下の赤字が追加部分です。

<TR>
<TH CLASS="titem">タイトル</TH>
<TD CLASS="contents">%_subject_html_%</TD>
</TR>
<TR>
<TH CLASS="titem">サマリー</TH>
<TD CLASS="contents">%_summary_html_%</TD>
</TR>
<TR>
<TH CLASS="titem">記事内容</TH>
<TD CLASS="contents">
%_body_html_%
</TD>
</TR>
</TR>

Ver. 4.4 以上の場合: templates/admin/3.html 編集例

Ver. 4.4 以上の製品では、サマリー欄が非表示の状態で予め追加してあります。非表示設定を止めるために、style属性の設定を削除して下さい(青字部分)。

<tr style="display: none;">
<th class="titem">サマリー</th>
<td class="contents">%_summary_html_%</td>
</tr>

確認画面 templates/admin/3.html の編集 その2:隠しフィールド

引き続き templates/admin/3.html を編集しますが、Ver. 4.4 以上の製品ではこの編集は不要です。

※ Ver. 4.4 で既に下記例のように記載がある場合は削除の必要はありません。

Ver. 4.3 以下の場合: templates/admin/3.html 隠しフィールド編集例

デフォルトのテンプレートにはフォームが 2 セット記載されています。2セットのフォームそれぞれに、サマリー用の隠しフィールドを追加して下さい。以下の赤字が追加部分です。

※ 製品によって、元のフォームに含まれる隠しフィールド数などは異なります。赤字の部分の追加のみ行って下さい。

<TD>
<FORM ACTION="%_myname_%" METHOD="post">
<INPUT TYPE="hidden" name="s" value="4">
<INPUT TYPE="hidden" name="m" value="%_m_%">
<INPUT TYPE="hidden" name="d" value="%_d_%">
<INPUT TYPE="hidden" name="cd" value="%_cd_%">
<INPUT TYPE="hidden" name="n" value="%_n_%">
<INPUT TYPE="hidden" name="i" value="%_i_%">
<INPUT TYPE="hidden" name="subject" value="%_subject_%">
<INPUT TYPE="hidden" name="summary" value="%_summary_%"><!-- 追加 -->
<INPUT TYPE="hidden" name="body" value="%_body_%">
<INPUT TYPE="hidden" name="yyyy" value="%_yyyy_%">
<INPUT TYPE="hidden" name="mm" value="%_mm_%">
<INPUT TYPE="hidden" name="dd" value="%_dd_%">
<INPUT TYPE="hidden" name="tempdir" value="%_tempdir_%">
<INPUT TYPE="hidden" name="file_order" value="%_file_order_%">
<!-- file info list : generate from 3_file_info_list.txt -->
%_file_info_list_%
<INPUT type="submit" value="確定">
</FORM>
</TD>
<TD>
<FORM ACTION="%_myname_%" METHOD="post">
<INPUT TYPE="hidden" name="s" value="2">
<INPUT TYPE="hidden" name="m" value="%_m_%">
<INPUT TYPE="hidden" name="d" value="%_d_%">
<INPUT TYPE="hidden" name="cd" value="%_cd_%">
<INPUT TYPE="hidden" name="n" value="%_n_%">
<INPUT TYPE="hidden" name="i" value="%_i_%">
<INPUT TYPE="hidden" name="subject" value="%_subject_%">
<INPUT TYPE="hidden" name="summary" value="%_summary_%"><!-- 追加 -->
<INPUT TYPE="hidden" name="body" value="%_body_%">
<INPUT TYPE="hidden" name="yyyy" value="%_yyyy_%">
<INPUT TYPE="hidden" name="mm" value="%_mm_%">
<INPUT TYPE="hidden" name="dd" value="%_dd_%">
<INPUT TYPE="hidden" name="tempdir" value="%_tempdir_%">
<INPUT TYPE="hidden" name="file_order" value="%_file_order_%">
<!-- file info list : generate from 3_file_info_list.txt -->
%_file_info_list_%
<INPUT type="%_bkbtn_switch_%" value="修正する">
</FORM>
</TD>

テンプレートのアップロード

変更が終わったら編集した以下のテンプレートをサーバに上書きアップロードして下さい。

templates/admin/2.html
templates/admin/3.html

アップロード後管理画面にアクセスすれば、サマリーが編集できるようになっています。

サマリー編集の運用方法

サマリーの手動編集

手動編集する場合、内容を追加した「サマリー」欄に入力して下さい。「サマリー」欄の入力がなければ「記事内容」欄から自動的に切り出されます。

サマリー欄のタグの扱い

サマリー欄にはタグ入力できません。タグ入力等の入力規則はすべて無効になり、テキストのみ抽出されます。

サマリー欄の文字数

サマリー欄に手動入力した場合でも、一定の文字数で表示はカットされます。

この文字数の設定を変更するには、環境変数 $conf{summary_length} を設定して下さい。詳しくは、製品の説明書から「変更できる環境変数(オプション設定)」をご参照下さい。

なお、$conf{summary_length} に 0 を設定すると文字数の制限がなくなり入力した内容を切らずに表示する事ができます。ただしこの場合、サマリーを手動入力しないと「記事内容」全てがサマリーとして表示されてしまいますので、必ず手動入力するようにして下さい。

サマリーを記事によって表示なしにしたい場合

特定の記事のみ「サマリー」表示をなしにしたい場合、「サマリー」欄に以下の通り入力して下さい。

サマリーを表示しない場合の入力内容

{{{}}}

サマリーを表示しない入力をクリックで行う

上記の入力をマウスのクリックで行う事ができます。templates/admin/2.html を再度編集し、先ほど追加したサマリー入力欄のそばに以下のコードを追加して下さい。

<div>
[<a href="javascript: return false;" 
onClick="document.forms[0].summary.value='{{{}}}';">なし</a>]
[<a href="javascript: return false;" 
onClick="document.forms[0].summary.value='';">本文から自動取得</a>]
</div>

再編集を行った後は以下のファイルをサーバに上書きアップロードして下さい。
templates/admin/2.html

サマリー欄を必須入力にする方法

サマリー欄を必須入力にしたい場合は、templates/admin/2.html を再度編集し、以下の JavaScript を追加して下さい(赤字が追加部分)。

サマリーの必須チェックの仕組みを追加

function set_order(LIST){
    //既存の関数「set_order」の先頭に追加
    var TGT = document.getElementById('summary');
    if (TGT && TGT.value === ''){
        alert('サマリーを入力して下さい。無しの場合は「なし」をクリックして下さい。');
        return false;
    }
    var ListTable = document.getElementById(LIST);
    var FileTarget;
    var ListCildOfTbody;
再編集を行った後は以下のファイルをサーバに上書きアップロードして下さい。
templates/admin/2.html

関連リンク

さらに詳しく