トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2003-04-20(日) [長年日記]

加藤大治郎、死去

まさにこれからという若い才能が、よりによって改修したばかりの鈴鹿サーキットで死ぬなんて、やりきれない。

Daijiro.net

tDiary: form_procプラグイン

絵日記をどうにかプラグイン単体で動かすため、form_procを導入。これは、日記本文を書く更新フォームの下に、別のフォーム(別にフォームじゃなくてもいいけど)を追加するためのコールバック系プラグインである。

でもなー、なんか約束事が多すぎてきれいじゃないんだよなぁ。しょうがないか?

  • submitボタンのname属性は「plugin」でなければならない
  • 引数で与えられる日付を「YYYYMMDD」形式にしてdateというname属性を持ったアイテムに入れておくと、上の更新フォームと日付の同期がとれる
  • その他のアイテムは、「plugin_プラグイン名_アイテム名」というname属性を持たせて他のプラグインとの名前空間を分ける

submit後は同じ画面に戻ってくるので、フォームの表示と、submitされたデータの処理は同じadd_form_proc内に書く。以下はファイルアップロードの実験用に書いた、指定されたローカルファイルの内容を表示する(意味なし)プラグイン。

add_form_proc do |date|
   begin
      text = @cgi.params['plugin_text_file'][0].read
   rescue NameError
   end
   <<-HTML
   <div class="form">
      <div class="caption">
         ファイル表示
      </div>
      <form class="update" method="post"
      action="#{@conf.update}" enctype="multipart/form-data"><div>
         <input type="hidden" name="date"
         value="#{date.strftime( '%Y%m%d' )}">
         テキストファイル: <input type="file" name="plugin_text_file">
         <input type="submit" name="plugin" value="OK">
      </div></form>
      <pre>#{text}</pre>
   </div>
   HTML
end

いちおう先ほどCVS HEADにcommit。これで絵日記が実装できるなら、edit_procは廃止してもいいか。

本日のツッコミ(全5件) [ツッコミを入れる]
reno (2003-04-20(日) 20:03)

もう呆然、ただただ絶句…です。必ずまた戻って来ると信じていたのに…合掌。

ハハハハ (2003-04-21(月) 03:41)

todoやaの更新フォームへ飛ぶナビバーを表示するのにいいかなと思ってたんですが。一緒に更新するほど頻度高くないでしょうし。>edit_proc

ただただし (2003-04-21(月) 12:16)

それはnavi_adminの役割だと思いますよ

ハハハハ (2003-04-21(月) 17:30)

確かに。でもplugin増えるごとにnavi_adminの書き換えが必要だからprocで追加できる方が…と思ったのです。

woods (2003-04-21(月) 22:46)

上書きじゃなくてメニューを追加したいならこんな感じのコードでできます。
http://sodium.dnsalias.com/sodium/diary/20030421.html#p11


トップ «前日 最新 翌日» 編集
RSS feed