実行時にパーツから何も出力されません
- 詳細
- カテゴリ: テンプレート
- 作成日:2013-03-25
機能と仕様
GCパーツは、PCサイトから抽出されたフラグメント(DOM)を入力とし、GCパーツの変換仕様に基づいてHTMLを出力します。フラグメントはGCパーツに指定したセレクタによって選択されます。各GCパーツは入力可能なフラグメントを定義されており、ほとんどのGCパーツにはフラグメントに制約があります。
解決方法
以下の原因が考えられます。
1. セレクタで指定したフラグメントが存在しない
パーツの入力となるフラグメントが取得できなかった場合、何も出力されません。PCサイトの出力HTMLとセレクタの記述を確認してください。
なお、テンプレートに以下のようなコードを記述すると、セレクタで取得したフラグメントを出力できるため、セレクタがマッチしたかどうかを確認することができます。
<gc-script>
gcruntime.loadJsOnce("gcutils.js");
gcutil.toHtml($("div#foo #bar .baz"));
</gc-script>
2. クライアントJavaScriptにより生成した要素を指定している
GeneCodeではHTMLソースに記述された要素のみがHTML変換の対象となります。
3. GeneCodeサーバーにパーツがインストールされていない
パーツの構成ファイルが存在しない可能性があります。ディレクトリ /home/genecode/appjs/gcparts を確認し、該当パーツがインストールされているかどうかを確認してください。パーツのインストール手順については、ランタイムインストールマニュアルを参照してください。
なお、該当パーツがGeneCodeサーバーにインストールされていない場合は、エラーログに次のようなメッセージが出力されます。
[gc_html] (GC-02029) gcruntime.loadJsOnce: file does not exist: /home/genecode/appjs/gcparts/BASICPANEL01/program/handler.js
4. パーツの入力仕様に合致していない
フラグメント内の要素および構成がパーツの入力仕様に合致しないために、変換ができなかった可能性があります。例えば、テキストリストパーツ(TEXTLIST01)の初期状態では、フラグメントにul要素もしくはol要素を含む必要があります。詳細については、パーツリファレンスを参照してください。
5. 出力条件関数が戻り値としてfalseを返している
パーツに出力条件関数(gc-parts要素のcond属性)が指定されている場合、出力条件関数の戻り値がfalseになっている可能性があります。出力条件関数がtrueを返しているかどうかを確認してください。
6. パーツ処理中にその他のエラーが発生している
プリプロセッサの関数が見つからないなど、その他の実行時エラーが発生しています。エラーログもしくはアプリケーションログを確認してください。