無能プログラマの開発日誌

無能からの脱却をはかるため、畑を耕すように自分を開拓しようと考えたプログラマの開発メモ

$rs not set! New variable not saved! の解決方法

$rs not set! New variable not saved!

テンプレート変数を作成する際に、上記のメッセージが表示される場合の対処方法です。

1. MySQLのModexデータベースで、 [modx_site_tmplvars]テーブルの[caption]列を編集:typeをvarchar(255)に設定

2. テンプレート変数を保存する際、任意の数字か、「0」を入力する。
 「並べ替え順」が空白だと上記のエラーが出て保存できないようです。

上記で、エラーが表示されなくなります。

但し、上記の手順で、根本的な解決とはならないようです。
根本的に解決したい場合は、下記をご参照ください。

※下記の方法は、当方では試していません。英文のフォーラムを翻訳したものをそのまま記述しています。下記手順を事項される場合は、自己責任でお願いします。

このエラーは、 "並べ替え順序: "が入力されていない場合、表示されてしまいます。
これを修正するには、下記ファイルを編集する必要があるようです。

manager\processors\save_tmplvars.processor.php:

約67行目の下記コードの前に

// Add new TV
$sql = "INSERT INTO $dbase.`".$table_prefix."site_tmplvars` (name, description, caption, type, elements, default_text, display,display_params, rank, locked, category) VALUES('".$name."', '".$description."', '".$caption."', '".$type."', '".$elements."', '".$default_text."', '".$display."', '".$params."', '".$rank."', '".$locked."', ".$categoryid.");";
$rs = mysql_query($sql);

下記の2行を挿入

// If rank is empty, set rank 0
if ($rank == '') $rank = '0';


参照サイト
英文
http://modxcms.com/forums/index.php/topic,4573.0.html