舛川 竜治
masuk****@nii*****
2006年 2月 9日 (木) 16:57:01 JST
はじめまして、舛川 竜治と申します。 {debug}のエラーの件ですが、smartyディレクトリ直下にあるdebug.tplの エラーがでる箇所に「|smarty:nodefaults」をつけて修正することで 解決しようかと考えています。 smartyディレクトリ内を修正したくない場合は、Smarty4Mapleクラスのほうで 「$this->debug_tpl = "debug.tpl";」等とし、 SMARTY_TEMPLATE_DIRに「debug.tpl」を保存すればよいと思います。 詳しいdebug.tplの修正方法を知りたいのであれば、また別途投稿しますので 言ってください。 かけたくない部分に明示的に「|smarty:nodefaults」を書いていくほうが 作成していくうえで間違いがないと思いましたので、このように考えました。 その他、不必要なところまでかかってしまうというのは 具体的にどういうところで問題になるのでしょうか? 教えていただければ幸いです。 また、こちらはSmarty4Mapleクラスの質問or疑問なのですが よろしければお答え願えないでしょうか? 1.デバッグする際は、「$this->debugging = true;」 と記述し、最後、表示する際に「display」とすればよいと思ったのですが、 ソースでは、最後にfetchしたものをprintしています。 これは何か意図がございますでしょうか? 2.setAction等でregister_objectを使用していますが templateのほうから、メソッドをよぶ場合、メソッドの引数は 引数配列,this(Smarty4Mapleオブジェクト)となるので 基本的なメソッド(または、$params, &$smarty_objをもつ関数)しか呼べないと思いました。 もちろん、引数がなければ問題ない(getName等)のですが (escapeされないとなると問題あり!?) setActionの最後のassignする処理があればよいと思いました。 ----- Original Message ----- From: "TAKAHASHI Kunihiko" <takah****@knosp*****> To: <maple****@lists*****> Sent: Thursday, February 09, 2006 3:57 AM Subject: [Maple-dev: 102] Smartyのdefault_modifiersについて > 高橋(kunit)です。 > > 3.1.0から Smarty の default_modifiers を使って基本 escape をかけるように > しようかと思ったのですが、{debug}がエラーをだしたり、不必要なところまで > かかってしまったりと問題も結構あるようです。 > > デフォルトで escape されるというのは、漏れがなくていいなとは思っていたん > ですが、結構中途半端な実装みたいなので、どうしようか迷っていたりします。 > > ブログの方にassign直前にかけるというのは?というご意見もいただきましたが、 > それだと配列・オブジェクトに対してはかけれず(再帰的に処理するという手も > ないわけではないですが・・・)、最終的に抜けがでそうな気がしています。 > それならいっそそういう支援はしないので、今までどおり全部に「|escape」を > 書いてくださいというのもありかなと・・・ > > というわけで、こういう実装はどうだろうとかご意見・コメントがありましたが > お願いします。 > > #なんでこの機能ってこんなに中途半端なんですかね・・・ > --- > TAKAHASHI Kunihiko > KNOSPEAR Inc. > > _______________________________________________ > Maple-dev mailing list > Maple****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/maple-dev >