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

「必要なシステム項目がありません」「no step value」と表示されます

最終更新日: 2014-05-30

問題の現象の詳細

管理画面の一覧画面から「新規登録」ボタンを押すと「必要なシステム項目がありません」と表示されます。メッセージ全体は下記のようなものです。JavaScript は有効にしてある事を確認しましたが、やはり同じエラーが出ます。

必要なシステム項目がありません。JavaScript を有効にして一覧から再度作業してみて下さい。(no step value: undef or length 0)


この問題が起こる製品

この問題は、典型的には「すぐ使えるCGI」の編集済サンプル製品(デモ製品)をダウンロードして設置した時に起こります。

問題の原因

サーバの cgi-bin/ ディレクトリの下に「すぐ使えるCGI」を設置した場合、製品の追加のパーツディレクトリが読み取れずにこのエラーが起こる事があります。

「パーツディレクトリ」とは、具体的には parts/、css/、js/、images/、fonts/ などの名前のディレクトリの事です。これらのディレクトリの中には、管理画面や書き出したページで使う JavaScript ファイルや CSS ファイルが保存されています。これらのディレクトリは階層になっている場合もあります(例えば webdir/parts/ や、parts/js/)。

「パーツディレクトリ」は編集済サンプル製品(デモ製品)に含まれている事があり、初期設定の製品では含まれていません。

cgi-bin/ 配下に「すぐ使えるCGI」をインストールした場合に、「パーツディレクトリ」も同じ場所に置くと中のファイルが読み取れなくなるサーバがあり、そのことにより、「新規登録」ボタンを押した時に動作するはずの JavaScript がうまく動かない事がエラーの直接的な原因です。

対応方法

基本方針

parts/、css/、js/ などの追加ディレクトリを、cgi-bin/ の下から出して別の場所(htdocs/ や html/ の下など)に移動していただくのが基本な対応方法です。

一緒に行う対応

この問題が起こるサーバでは、「書き出したファイルを表示しようとするとエラーになる」という問題も後で出てしまいますので、この問題への対応も一緒に行って下さい(下記の 1)。

1. webdir/ と tempfiles/ の移動

以下のページでご案内している方法で、webdir/ と tempfiles/ ディレクトリを移動して下さい。
※ tempfiles/ ディレクトリは製品によってはありません。

ファイルは書き出せますがブラウザで表示できません ( 500 Internal Server Error)

2. 確認

webdir/ を移動すれば問題が解消する場合がありますので、この段階でもう一度管理画面の動作を試して下さい。

3. パーツファイルの移動

2 で問題が解消しなかった場合は、引き続きパーツディレクトリの移動も行って下さい。どのようなディレクトリが製品に含まれているかは、製品に同梱されている support-NNN-README.txt というファイル内に記載がありますのでご覧下さい(NNNは数字)。

パーツディレクトリについては、移動の時に、(1で行ったような)admin/admin.cgi の設定変更は不要です。代りに、後述のようにデザインテンプレート内の設定を変更して下さい。

4. 管理画面テンプレートの修正

管理画面用テンプレート templates/admin/1.html、2.html、3.html、5.html、6.html では、外部ファイル(CSS や JavaScript、画像)の読み込みを行っています。これらを指定している src 属性や href 属性を変更して下さい。

設定には例えば以下の様なものがあります。

<link href="../parts/css/admin.css" rel="stylesheet" media="screen">
<script src="../parts/js/admin.js" type="text/javascript" charset="utf-8"></script>
この設定を、ディレクトリを移動した位置に変更して下さい(青字部分)。変更対象ヶ所は場合によっては複数ありますので、3 で見つけたディレクトリが含まれている指定が無いかを検索して置換して下さい。
<link href="/parts/css/admin.css" rel="stylesheet" media="screen">
<script src="/parts/js/admin.js" type="text/javascript" charset="utf-8"></script>

5. アップロードと確認

管理画面のテンプレートを編集したら、サーバに上書きアップロードして動作確認を行って下さい。

6. 書き出しページテンプレートの修正

書き出しページでは、追加のパーツファイルを読み込んでいる場合も読み込んでいない場合もあります。もし設置した場所での動作が、「すぐ使えるCGI」サイトでのデモと同様にならなければ、やはり同じ原因が考えれらますのでテンプレートのパスを修正して下さい。

変更対象テンプレートは、templates/article/ 配下の .html ファイルです。

変更対象は例えば以下のようなタグです。

<link href="../parts/css/site.css" rel="stylesheet" media="screen">
<script src="../parts/js/site.js" type="text/javascript" charset="utf-8"></script>
この設定を、ディレクトリを移動した位置に変更して下さい(青字部分)。変更対象ヶ所は場合によっては複数ありますので、3 で見つけたディレクトリが含まれている指定が無いかを検索して置換して下さい。
<link href="/parts/css/site.css" rel="stylesheet" media="screen">
<script src="/parts/js/site.js" type="text/javascript" charset="utf-8"></script>

7. アップロードと再構築(テンプレート変更反映)

書き出しページのテンプレートを編集したら、サーバに上書きアップロードして「再構築(テンプレート変更反映)」ボタンを押して下さい。
その後、ブラウザのキャッシュをクリアしてからページを再読み込みして、動作確認を行って下さい。

さらに詳しく