Pageを追加して公開しようとSaveボタン押したら
Can't call method "exeute" on an undefined value at
/home/sites/lolipop.jp/users/lomo.jp-jkl/web/mt4/extlib/Data/ObjetDriver/Driver/DBI.pm
Line 119.
というエラーが出た。
ManageのPagesでは一覧で表示されるのでデータは入ってるっぽいが、右端のviewでファイルのURLが表示されないのがおかしい。上記DBI.pmのLine 119を見てみると、
119 $sth->execute(@{ $stmt->{bind} });
となっている。Perlはよくわからんが、前後から察するにSQL文の実行時にエラーが出てるんだろう。Perlはわかr(ry)なのでDBを見てみる。
sqlite> select * from mt_entry;
1438|0.0|0.0|tag:jkl.lomo.jp,2007://1.1438|1|2007-09-17 18:10:57|about|1||page|__default__|(ry
やっぱりデータ自体は保存されている。とするとファイルパスが保存されていなさそうだ。
sqlite> select * from mt_fileinfo where fileinfo_archive_type = "Page";
sqlite>
やっぱり無い。SQL文実行中に何かしちゃったかな、と思ったがmt_fileinfoのHeaderを見てたらテンプレートの指定をするカラムがあった。そういや設定したっけなあとテンプレートのpageを見たら出力ファイルの指定をしてない。ファイル名指定したら成功、手抜きするんじゃなかったなあ。
コメント
はじめまして。おーたむです。
現在自サイトをMovable type4にバージョンアップしてるのですが、ブログ記事アーカイブを再構築するとエラーがでます。
それを調べていてこのサイトにたどり着きました。
そのエラーが、このエントリーにある「Can’t call method ・・・」と同じなのですが、「ファイル名指定したら成功」とあるのですが具体的にどこを修正したのか教えていただけないでしょうか?
お手数おかけして申し訳ないのですが、教えていただけるとうれしいです。よろしくお願いします。
もう遅いかな?今気がつきました。
いじったところは
Edit Template -> Page -> Archive Mapping
だったかと思います。エラーが出たときは空欄でした。
ただ、同じエラーメッセージだからといって必ずしも原因が同じとはかぎらないですからね。難しいところです。