2009/02/18(水)ZipFileTransport
Export
plone/Products/ZipFileTransport/browser/zipexportのaction_exportがエクスポートの実体
ここで、ログを取る
84: for x in paths:
ループでファイルリストを生成
-> ファイルサイズのチェックを追加
94: if self.context.portal_...
ユーザ認証
-> ファイルサイズのチェックも同時に行う?
画面
plone/Products/ZipFileTransport/browser/export_widget.pt
plone/Products/ZipFileTransport/browser/zipexport.py
2009/02/18(水)ploneへのパッチ
アクションボタンをすべてのページで表示する
plone/lib/python/plone/app/content/browser/foldercontents.py
201: if self.context.cb_dataValid():
↓
201: if self.context.cb_dataValid() or 1:
importだけ表示
ZipFileTransportに含まれるImportボタンです
plone/lib/python/plone/app/content/browser/foldercontents.py 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste': 204: return [self.setbuttonclass(button)] 205: else: 206: return [] ↓ 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste' or button['id'] == 'import': 204: buttons.append(self.setbuttonclass(button)) 205: return buttons 206: else: 207: for button in button_actions: 208: if button['id'] == 'import': 209: return [self.setbuttonclass(button)] 210: return []
2009/02/18(水)ploneのキャッシュ
2009/02/16(月)フォルダーコンテンツ
フォルダにあるファイル一覧を表示するビュー
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pt
カスタマイズ
/plone/manage_main にアクセス portal_view_customizations zope.interface.Interface > folder_contents <div tal:replace="structure view/contents_table">
contents_tableの実装
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの27~?
テーブル本体は
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.pt
このフォルダには~
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの
18-23行目
コピー、カット、名前を変更など
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの193~?ちがうっぽい
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの183-
ここで、呼び出している使っているview/buttonsがどこか何か分からない
table.ptを開く前に定義済みなのかな?
あってた
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの201行目付近 self.context.cb_dataValid()でチェックしてるので、ここを常に真にしてしまえばよさげ*1
2009/01/22(木)Visual C# 2008
VC++は一通りかじってあるけど、.NETを使ってフォームアプリケーションを作ろうとするとさっぱり分かりません。
google先生で十分かと思ってたけど、適当なマニュアル本買ってきて読んだ方がいいかなぁ。
2008/12/09(火)自作ライブラリのメモ
ポップアップ
var popup = new CPopup(); popup.append(項目名, イベント, オプション); popup.append(CPopup.Separator); popup.append(項目名, イベント, オプション); popup.show();
引数の例
- イベント
- {'click':clickentry}
- オプション
- {n:a[1], w:s._self}
イベントリスト
イベント名 | 概要 |
click | 項目がクリックされたときに呼び出される. 返値をfalseにするとpopupを閉じない |
close | 未実装。popupが閉じられる直前に呼び出される |
closed | 未実装。popupが閉じられた直後に呼び出される |
イベントメソッドの例
function clickentry(イベント, ポップアップ本体, 項目名, オプション){ }
2008/12/02(火)WebAPI
最近はユーザ登録必要なサービスばかりなのね
お試しで作りたいだけなんだけどなぁ
機能限定でいいからguestで2-3日使わせてもらえないかなぁ
2008/11/21(金)length プロパティ
配列の要素数ではなく,インデックスの最大値+1を指す.
そのため,
var a = new Array(); a[0] = 0; // length -> 1 a[1] = 1; // length -> 2 a[100] = 100; // length -> 101 a[2] = 2; // length -> 101
になる...
要素数を知りたい場合カウントするしかないの?
var count = 0; for(var i in ary){ count++; }
2008/11/20(木)メソッド定義のマイルール
コンストラクタの定義
class = function(o){ }
プロトタイプで定義
ここに定義するのは,オブジェクト名付きで呼び出されるメソッド類.thisを信用することができるもの.class内部からしか呼び出さないものは_を付ける.(_付きのメソッドを外部から呼び出しても動作は保証しない)
class.prototype = { func1: function(){ }, _func2: function(){ } }
クラス名付きで定義
イベントなどにより呼び出されるメソッド類.thisを信用できない.必要ならば,引数に自分自身を指すオブジェクトを入れる.
class.func3 = function(){ }
2008/11/19(水)javascriptのpro...
前と同じ罠にはまってしまった...
なにやってるんだか.
A = function(){} A.prototype = { pos: {x:0, y:0} } a = new A(); b = new A(); a.pos.x = 10; a.pos.y = 20; b.pos.x = 30; b.pos.y = 40; a.pos.x; // -> 30; a.pos.y; // -> 40; b.pos.x; // -> 30; b.pos.y; // -> 40;
正しくは↓の通り。
A = function(){ this.pos = {x:0, y:0}; } A.prototype = { pos: null } a = new A(); b = new A(); a.pos.x = 10; a.pos.y = 20; b.pos.x = 30; b.pos.y = 40; a.pos.x; // -> 10; a.pos.y; // -> 20; b.pos.x; // -> 30; b.pos.y; // -> 40;
一度,以前作ったプログラムも見直した方がいいかもしれない