- 1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp]
- まぬあるwww.smarty.net/manual/ja/
- 701 名前:692 mailto:sage [2009/10/04(日) 00:06:35 ID:???]
- >>699-700
その方法だと$listに必ず「ImageBox」が無いと駄目です。 ブログみたいに他のタグも挿入したい場合使えないので、 変数(というか配列に入れた値)に、Smartyタグを入れる事を思いつきました。 それで698さんが掻かれているようなプラグインを作って 一旦Smartyタグを処理させてから配列に入れれば、 foreachで出力しても表示されます。 しかし、当然ながらコンパイルファイルが作成されるので その分ページの生成に時間がかかることになってしまいました・・。 (キャッシュを使えば良いだけですが、なんか気になりました
- 702 名前:692 mailto:sage [2009/10/04(日) 00:08:43 ID:???]
- ちなみに以下のサイトを参考にしました。
ttp://d.hatena.ne.jp/lapis25/20080908/1220861488 >>698さんのソースを頼りに検索したらヒットしました。 凄く参考になりました。ありがとうございます。
- 703 名前:nobodyさん [2009/10/11(日) 13:15:33 ID:gYB28ahJ]
- すみません、質問です
smartyで{if}の中で出力したりすると、このsmartyタグのせいで発生した改行やらスペースやらが HTMLにもモロに出てしまって美しくありません どうにかする方法ないでしょうか?
- 704 名前:nobodyさん mailto:sage [2009/10/11(日) 14:25:24 ID:???]
- {strip}{/strip}
で囲うべし。
- 705 名前:nobodyさん mailto:sage [2009/10/11(日) 15:23:00 ID:???]
- >>704
かっこわるいです。次の方お願いします。
- 706 名前:nobodyさん mailto:sage [2009/10/11(日) 15:43:55 ID:???]
- 反論ではないけど、
おれはHTMLの頭から終わりまでstripで囲ってるよ。 改行、空白によるブラウザの変なバグにも遭遇しないし、 何より若干ではあるものの軽くなる。 かっこいいかどうかで言えば、おれは改行なしのほうがかっこいいと思う。
- 707 名前:nobodyさん mailto:sage [2009/10/11(日) 16:11:57 ID:???]
- 意図した改行を入れたい場合はどうしてるん?
<textarea>の中身とか
- 708 名前:nobodyさん mailto:sage [2009/10/11(日) 17:59:26 ID:???]
- >>704
おおー、そうだそれがありました ありがとうございました >>707 <textarea><$hoge|nl2br></textarea>じゃ対処できないもの?
- 709 名前:nobodyさん mailto:sage [2009/10/11(日) 18:22:54 ID:???]
- 改行を残したい箇所を
逆にliteralで囲う。
- 710 名前:nobodyさん mailto:sage [2009/10/12(月) 00:52:20 ID:???]
- JavaScriptとか、改行に意味を持つ言語が混在する可能性を考えると一括して{strip}するのは得策じゃない気がする。
- 711 名前:nobodyさん mailto:sage [2009/10/13(火) 01:13:00 ID:???]
- >>703
そこまで気にするなら {if} {assign var="hoge"} {else} {assign var="hoge"} {/if} <textarea> {$hoge} </textarea>
- 712 名前:nobodyさん [2009/10/13(火) 23:52:48 ID:B+0jNtpm]
- Smarty3期待アゲ
- 713 名前:nobodyさん [2009/10/14(水) 00:10:46 ID:k/3ZY/k4]
- 質問です。
↓の、アンパサンドって何の意味があるのでしょうか? $smarty =& new Smarty;
- 714 名前:nobodyさん mailto:sage [2009/10/14(水) 00:27:06 ID:???]
- 参照代入
- 715 名前:nobodyさん mailto:sage [2009/10/14(水) 00:36:04 ID:???]
- >>713
ないよ。 PHP4でも5でもnewはリファレンスを返すんだけど、 PHP5でそれが明言されるまではnewを=するとnewなオブジェクトがコピーされるという迷信があった。 だから=&と書いてるところがたまにあるけど、Smartyマニュアルでも普通に=だ。 要するに、単なる誤解が生んだもの。
- 716 名前:nobodyさん mailto:sage [2009/10/14(水) 00:47:30 ID:???]
- >>715
ほんとに? 俺も参照代入だよって説明どこかで読んだなぁ あの解説ウソついたのかしら?
- 717 名前:nobodyさん mailto:sage [2009/10/14(水) 01:06:18 ID:???]
- 4なら意味あると思うが
- 718 名前:nobodyさん mailto:sage [2009/10/14(水) 01:30:24 ID:???]
- >>715
つ ttp://jp2.php.net/manual/ja/language.oop.newref.php どこでそんな嘘をきいたん? ちなみに5でも代入で変数のコピーが行われるのは同じ。 違うのはオブジェクトのコピー時の内部動作がハッシュテーブルの複製から オブジェクトの実体の参照カウンタ操作になっている点。(zvalの参照カウンタとは別ね)
- 719 名前:nobodyさん mailto:sage [2009/10/14(水) 03:14:45 ID:???]
- ちょっとコード書いて実験すればわかるだろ
俺面倒だからパスね
- 720 名前:nobodyさん mailto:sage [2009/10/15(木) 18:15:01 ID:???]
- みんなこんな曖昧なままに済ましてきたってことはあまり使ってない機能ってことかな
俺も使った覚えないわ、マニュアル本にも例なんてないし。損してるんだろうか。。
- 721 名前:nobodyさん mailto:sage [2009/10/16(金) 11:58:47 ID:???]
- オブジェクトのリファレンスか。
使い道が思いつかんでもないが実際に 使う場面ってそうそうなさそうな。
- 722 名前:nobodyさん mailto:sage [2009/10/20(火) 06:10:16 ID:???]
- Smarty 3だれか使ってみた??
- 723 名前:nobodyさん mailto:sage [2009/10/20(火) 10:43:32 ID:???]
- 使ってみた
- 724 名前:nobodyさん mailto:sage [2009/10/21(水) 00:53:52 ID:???]
- Smarty3微妙だなぁ・・・相変わらず癖の強いコーディングで読むの疲れる。
extendリソースがあるんだけど、使い方解る人いる?
- 725 名前:nobodyさん mailto:sage [2009/10/21(水) 10:25:55 ID:???]
- 結局Smartyなんてassign、display、{if}、{foreach}だけで十分じゃん
というかコレが核だと思う 後は必要に応じて・・・って感じで十分だし
- 726 名前:nobodyさん mailto:sage [2009/10/21(水) 10:59:25 ID:???]
- Smarty3のプラグインは何故グローバル関数なんだろ?
どこら変がPHP5 OOPなんだよ
- 727 名前:nobodyさん mailto:sage [2009/10/21(水) 22:34:20 ID:???]
- プロパティもメソッドも全部publicは鬼だ
一方、__callでメソッドの外部化をしてる extendリソースってどれ??
- 728 名前:nobodyさん mailto:sage [2009/10/22(木) 01:31:12 ID:???]
- >>727
sysplugins/internal.resource_extend.php ソースコメント読む限りでは他テンプレートエンジンのextendっぽいんだけど、 リソースとして定義されてるので、どう使っていいかよくわからんw getTemplateSource()読むと、超強引にblockタグとか置換してるみたいなのであまり有用ではなさそうだけど・・・('A`; 2から乗り換える利点がまだ見えないなぁ
- 729 名前:nobodyさん mailto:sage [2009/10/22(木) 11:33:30 ID:???]
- >>725
そんなこといったらPHPだって
- 730 名前:nobodyさん mailto:sage [2009/10/24(土) 20:08:39 ID:???]
- smarty使ってるレンタルブログサイトとかないの?
- 731 名前:nobodyさん mailto:sage [2009/10/25(日) 04:49:32 ID:???]
- >>730
あるとしてもユーザにSmartyフォーマットでのカスタマイズを許可するとは考えにくいな。
- 732 名前:nobodyさん mailto:sage [2009/10/25(日) 08:28:37 ID:???]
- >>730
別にsmartyに限らず、独自の記法などで対応してるところはある。 Smartyじゃないとダメなら自分で作ればいいジャマイカ。
- 733 名前:nobodyさん mailto:sage [2009/10/27(火) 00:14:32 ID:???]
- 中身はsmartyだけど、smartyフォーマットは使わせないようにして
<%hogehogeLoop>と書いたら{section name=hoge loop=$id} になるように置換してるブログシステムはあるかもしれない 大体は自前でやってるか、MovableTypeの改造版じゃないかな
- 734 名前:nobodyさん mailto:sage [2009/10/27(火) 12:20:20 ID:???]
- >>725
それだけしか使わないならもっと速いテンプレートエンジンあるんじゃない?
- 735 名前:nobodyさん mailto:sage [2009/10/27(火) 12:23:42 ID:???]
- >>734
それなんてPHP?
- 736 名前:nobodyさん mailto:sage [2009/10/27(火) 20:55:46 ID:???]
- カラーミーショップ プロ
ttp://shop-pro.jp/ ブログじゃなくてネットショップだけど、テンプレートにsmarty使ってるね EC CUBEの改造版なんだろうけど
- 737 名前:nobodyさん mailto:sage [2009/10/27(火) 21:04:25 ID:???]
- Smartyでレンタルブログ運営したら重くてしかたないんじゃない?
ユーザー大量にいたらキャッシュ効かせても厳しい気がする
- 738 名前:nobodyさん mailto:sage [2009/10/28(水) 05:06:51 ID:???]
- それは設計の問題であり、Smatyが原因にはなり得ない。
- 739 名前:nobodyさん mailto:sage [2009/10/28(水) 11:11:33 ID:???]
- Smartyの設計の問題ってことですね
- 740 名前:nobodyさん mailto:sage [2009/10/28(水) 13:46:19 ID:???]
- おしい。Smartyを使う人の設計の問題。
- 741 名前:nobodyさん mailto:sage [2009/10/28(水) 15:26:33 ID:???]
- >>737
気のせい
- 742 名前:nobodyさん mailto:sage [2009/10/29(木) 11:06:44 ID:???]
- いい話題がありませんねー
- 743 名前:nobodyさん mailto:sage [2009/10/29(木) 21:54:28 ID:???]
- gooブログの有料版の説明のとこにこんな記述がある
{include file="/home/gooblog/Smarty/blog/templates/comment_link.tpl"} パスにSmarty入ってますがな
- 744 名前:nobodyさん mailto:sage [2009/10/30(金) 22:56:36 ID:???]
- 実際にロジックとテンプレート合わせないとテンプレート側の文法の間違い分からないの?
- 745 名前:nobodyさん [2009/11/01(日) 07:20:38 ID:ZF01kyEW]
- Smarty 3.0 Beta 1 Released
- 746 名前:nobodyさん mailto:sage [2009/11/01(日) 10:57:23 ID:???]
- >>744
確かにできないな まあ元々プログラマーと別環境で作業すること自体難しい気はするが。 >>745 モノリンガルの俺には厳しいようだ
- 747 名前:nobodyさん mailto:sage [2009/11/01(日) 11:05:45 ID:???]
- >>745
突撃してみるか
- 748 名前:nobodyさん [2009/11/09(月) 13:54:09 ID:jgJG5jOb]
- テンプレートに定義していないコード(例えば{test}など)がある場合、
Smarty errorが表示されます。 このエラーを表示しない方法はないのでしょうか? PHPのエラー表示をしない事で対処するしかないのでしょうか?
- 749 名前:nobodyさん mailto:sage [2009/11/09(月) 14:06:20 ID:???]
- trigger_errorしてるところをスキップしちゃえば?
- 750 名前:nobodyさん [2009/11/09(月) 20:59:58 ID:I33d9sv+]
- $error_reporting
↑これ?
- 751 名前:nobodyさん [2009/11/11(水) 19:01:43 ID:0BFUpwQj]
- Smartyって、テンプレートの中にテンプレートを読み込むようなことできる?
ある変数の値によって、特定の領域の内容をかなりダイナミックにレイアウトごと変更させたいんだけど 変化のバリエーションがかなり多いんで{if}でパターン分け記述するのはあまり現実的じゃないんだよね 外部でhtmlとして整形したものを丸ごとコントローラでassignさせて飲み込ませるしかないかな?
- 752 名前:nobodyさん mailto:sage [2009/11/12(木) 03:03:02 ID:???]
- そのレベルも調べられないお前には無理だ。
- 753 名前:nobodyさん [2009/11/12(木) 07:44:56 ID:dv0ticwo]
- Smarty 3.0 Beta 2 Released
- 754 名前:nobodyさん mailto:sage [2009/11/12(木) 11:31:04 ID:???]
- >>752
おー、サンキューサンキュー♪ includeって機能があったんだね、この辺から調べてみるよ たすかったわほんと、ありがとね
- 755 名前:nobodyさん mailto:sage [2009/11/12(木) 12:04:54 ID:???]
- test
- 756 名前:754 [2009/11/12(木) 19:22:51 ID:SoSJwGM8]
- ごめん、相談させて欲しい
hoge.tplに {insert name="hogeAction" title="テスト" script="hoge_action.inc.php"} って書いて、 同じディレクトリにあるhoge_action.inc.php に <?php function smarty_hogeAction($param, $smarty){ return 'あいうえお'; } ?> って書いたんだけど「あいうえお」の出力がされない。 ($param, $smarty)の引数を消して function smarty_hogeAction(){… とやってもダメだ。 何が問題かな? ご意見よろしくお願いします
- 757 名前:nobodyさん mailto:sage [2009/11/12(木) 19:58:44 ID:???]
- 書き間違えた
× smarty_hogeAction ○ insert_hogeAction でやってます
- 758 名前:756 mailto:sage [2009/11/12(木) 22:52:47 ID:???]
- どうも、自己解決しました。
お騒がせしました
- 759 名前:nobodyさん mailto:sage [2009/11/13(金) 13:18:08 ID:???]
- どういう解決方法?
- 760 名前:756 mailto:sage [2009/11/13(金) 14:36:48 ID:???]
- 勘違いしてたというか参考にしてたページがわかりにくかったというか、
要するに .tplでの記述は {insert name="hogeAction"} スクリプトファイルは insert.hogeAction.php ファイルの格納場所は /pluginsディレクトリ として入れてりゃ良いだけの話だった。自前modifierとかわらんかった。 insertタグのscript属性とかなくても良いものを必須みたいに書いてたり、 関数名(function insert_hogeAction(-,-){-})を嘘書いてるサイトみて 変なことやりまくってたよ。恥。
- 761 名前:nobodyさん mailto:sage [2009/11/13(金) 14:58:34 ID:???]
- 公式マニュアル見ればよかったのにね
- 762 名前:756 mailto:sage [2009/11/13(金) 15:11:57 ID:???]
- >>761
うん、公式がイマイチわからなくて他のサイトみてたらハマっちゃって。 今また公式見返してるけどやっぱりよくわからない www.smarty.net/manual/ja/language.function.insert.php 「{insert} 関数の名前は、 ネームスペースの衝突を避けるために "insert_" によって始まる必要があります。」 ってあるけど、それじゃ上手くいかなくて smarty_insert_hogeAction() って形でやっと上手くいったからなぁ… こっちの方が公式よりわかりやすかった、俺が物わかり悪いんだろうけど www.y2sunlight.com/ground/?PHP5.0%2F8.Smarty%A4%F2%CD%FD%B2%F2%A4%B9%A4%EB
- 763 名前:nobodyさん mailto:sage [2009/11/13(金) 15:22:56 ID:???]
- そりゃプラグインとしてファイルを自動読み込みさせてるからだ
www.smarty.net/manual/ja/plugins.naming.conventions.php >PHP ファイル内で定義する プラグイン関数 は次のように指定します。 >smarty_type_name()
- 764 名前:756 mailto:sage [2009/11/13(金) 16:02:41 ID:???]
- >>763
そうなの。おおお、疑問の本質に近づいてきた、質問させて。 じゃあsmarty_insert_xxx じゃなくて insert_xxx()ってのはプラグイン(別ファイル自動読み込み)じゃないのか。 そもそもinsert_xxx()ってどこに書くの? $smarty->assign("msg","hello"); みたいな処理を書いてるコントローラ?の.php? それがわからなくてあっちこっち見る迷走がスタートしたんだ
- 765 名前:nobodyさん mailto:sage [2009/11/13(金) 16:19:30 ID:???]
- 偉そうなので教えん
- 766 名前:nobodyさん mailto:sage [2009/11/13(金) 20:01:32 ID:???]
- 自分で試せばいいのに。
- 767 名前:nobodyさん mailto:sage [2009/11/14(土) 14:51:09 ID:???]
- キャッシュ効かせても速度あんまり変わらなくね?なんなのこれ
- 768 名前:nobodyさん mailto:sage [2009/11/14(土) 19:37:58 ID:???]
- 下記のように、フォームでエラーがあればp要素を表示、なければ何も表示しない場合、
みなさんは、どこまで、どんな方法でテンプレートを利用していますか? <p class="error">※必須項目です。記入してください。</p> <p><input type="text" name="mail" value=""></p> 1. エラーメッセージは最初からpでマークアップ済み、そのままassign、smartyには{}のみ {$errors.mail} 2. エラーメッセージはテキスト、assign時に空欄かどうか判定してpでマークアップ、smartyには{}のみ {$errors.mail} 3. $errorsにはテキスト、そのままassign、smartyで{if}処理 {if $errors.mail}<p class="error">{$errors.mail}</p>{/if} 4. $errorsにはテキスト、そのままassign、smartyで関数処理 {$errors.mail|markupFunction} デザイナさんと分業する場合、 プログラム側がマークアップに関わらない3.が一番いい気がしているのですが、 少しテンプレートファイルが煩雑になるのが気になったりもします。 エラーメッセージマークアップ用の小さなテンプレートファイルを作っておいて、 4.のmarkupFunctionから読み出して利用すると比較的キレイな気もしますが、 テンプレートファイルが小分けになるのも煩雑といえば煩雑な気もします。
- 769 名前:nobodyさん mailto:sage [2009/11/15(日) 03:44:59 ID:???]
- >>767
Apacheの連続アクセステストしたけど、アクセス回数が多ければ多いほど キャッシュの効果は効いたよ。ただし、1.2〜3倍速くなる程度だけど。 >>768 ブログのテンプレみたいなのを作ってるが、3が一番良いよ。 MTなんかもそうだし。
- 770 名前:nobodyさん mailto:sage [2009/11/15(日) 07:22:36 ID:???]
- 自分はクラスだけでやってる。
エラーは常に埋め込まれ、CSSで非表示にしておく。もしエラーなら親要素にerrorというクラスを与えて、その子要素のエラーを表示するCSSを書いておく。 div p{ display:none } div.error p{ display:block } これでエラー時のテキストもデザイナー側で書ける。 親要素は <div class='{$error.title}'> って感じで、タイトル項目がエラーなら error.title に 'error' を assign しておくだけ。
- 771 名前:潔癖プログラマ mailto:sage [2009/11/15(日) 10:24:50 ID:???]
- >>769
やはり3.ですか。 ただその場合 $errors.mailに値があればいいんですけど、 値がなくifがfalseになると、その行末の改行が無視されて 次の行のインデントが崩れちゃうのが気になります。 {/if}のあとに空白1文字入れとくと回避できますが、 「よろしくないテクニック」っぽくて好きになれません。 >>703でも話題にでていたようですが、 このsmartyの仕様は気に入りません(苦笑)。 {if $errors.mail} <p class="error">{$errors.mail}</p> {/if} こんな感じで3行使うのがいまのところ最善か。 テンプレートファイルがますます煩雑に…(苦笑)。 >>770 CSSのdisplayだけで制御するのは、 自分も一瞬頭をよぎったことはありますが、 やはり気持ちが悪いですごめんなさい。 あとエラー時のテキストが「入力内容をご確認ください」程度ならいいけど、 「メールアドレスが正しくありません」 「必須入力項目です」 「文字数が多すぎます」 とか丁寧に表示してあげる場合に対応しにくい気がします。
- 772 名前:nobodyさん mailto:sage [2009/11/15(日) 21:24:49 ID:???]
- >>770
CSS切っている環境とか携帯対応を考えた場合は向かない仕様だな
- 773 名前:nobodyさん mailto:sage [2009/11/15(日) 22:48:09 ID:???]
- んなもん、{$err} にしといて、
errに <p class="error">エラーメッセージ</p> ぶち込みだわ。
- 774 名前:nobodyさん mailto:sage [2009/11/16(月) 00:55:30 ID:???]
- >>768
汎用性やら考えると3じゃないかな。 他の方法だと、特定箇所だけ見た目を変えたい時にデザイナ側で対応しにくい気がする。 テンプレートを関数もどきとして使うような方法もありかもしれない。 // エラー表示箇所 {include file="error.tpl" error=$errors.mail} // エラー表示テンプレート error.tpl {if $error} <p class="error">{$error}</p> {/if}
- 775 名前:潔癖プログラマ mailto:sage [2009/11/16(月) 09:18:08 ID:???]
- >>774
なるほど。4.の別解のような感じですが、 それだとincludeするテンプレファイルまでデザイナさんに任せられるので、 複数パターンのテンプレファイルが用意できたり汎用性が高そうですね。 図らずも(?)、{if}による改行問題も、 別ファイルに追い出すことで解決できてるし、 なかなか良いかもしれません。
- 776 名前:nobodyさん [2009/11/16(月) 12:51:37 ID:tubifOLG]
- Smartyは遅いって意見ありますが、体感レベルで明らかに遅いですか?
1秒2秒遅くなった経験がある人いるんでしょうか?
- 777 名前:nobodyさん mailto:sage [2009/11/16(月) 23:39:48 ID:???]
- そんなに遅くないよ。
「遅い」って感じるのは鯖が悪いんだろ
- 778 名前:nobodyさん mailto:sage [2009/11/17(火) 02:12:17 ID:???]
- >>776
古いサーバPC上でキャッシュを無効にして使っても、0.001秒の処理が0.002秒になる程度。 数値的には2倍だが、体感的にはまずわからない。 素のPHPコードに比べたら遅いと言えるが、 個人的にはメリットの方が桁違いに上かな。
- 779 名前:nobodyさん mailto:sage [2009/11/17(火) 02:16:05 ID:???]
- >>777,778
よかったー。いかにもノロノロしてるような状態になるのかと思いました。 安心して作れます、ありがとう
- 780 名前:nobodyさん mailto:sage [2009/11/17(火) 03:18:29 ID:???]
- じゃキャッシュのメリットって何?って感じだな
- 781 名前:nobodyさん mailto:sage [2009/11/17(火) 06:08:10 ID:???]
- Smarty 3.0 Beta 3 Released
ペース早いな
- 782 名前:nobodyさん mailto:sage [2009/11/17(火) 13:05:14 ID:???]
- >>780
更新が少ないもしくは、更新タイミングが決っている場合にキャッシュ有効にすればいい。 大規模サイト用のチューニング項目だと思えばいいんじゃないかね。
- 783 名前:nobodyさん mailto:sage [2009/11/17(火) 15:47:08 ID:???]
- >>780
769にも書いたけど、負荷テストした時は効果合ったよ。 同時アクセス100とか1000の場合に。
- 784 名前:nobodyさん mailto:sage [2009/11/19(木) 15:56:07 ID:???]
- 多数の他人に更新させる場合はキャッシュオフ?
掲示板とかね 有効にしといて書き込まれたタイミングでキャッシュ削除するのかな
- 785 名前:nobodyさん mailto:saga [2009/11/20(金) 13:27:52 ID:???]
- ぴーえちぴー5.3.0
りなくす Smartyでテンプレートが無い場合に白い画面になっちゃうんで、エラーをハンドリングしたいんですけど出来ないでしょうか? テンプレートがあるか判定なんてめんどーなことしないといけないんですかね?
- 786 名前:nobodyさん mailto:sage [2009/11/20(金) 13:53:02 ID:???]
- できるでしょ
そもそもfatal errorなり出るはず
- 787 名前:nobodyさん mailto:sage [2009/11/20(金) 13:55:42 ID:???]
- PHPのerror_reportingが0になってるとかじゃね?
- 788 名前:nobodyさん [2009/11/20(金) 14:07:49 ID:L1RHfQMx]
- try
{ $smarty->display($tpl); } catch { なんたら } みたいにやりたいです。 エラーレポ調べてみます。
- 789 名前:nobodyさん [2009/11/20(金) 14:24:17 ID:L1RHfQMx]
- error_reportingはnullのようです。ログに出して確認。
3に設定して見ましたが例外はキャッチできませんでした。3が間違いなんでしょうか? >>786 それは戻り値として出るということですか?
- 790 名前:nobodyさん mailto:sage [2009/11/20(金) 14:27:34 ID:???]
- >>789
error_reporting(E_ALL);
- 791 名前:nobodyさん mailto:sage [2009/11/20(金) 14:30:40 ID:???]
- >>789
もしかしてxampp?
- 792 名前:nobodyさん [2009/11/20(金) 14:32:43 ID:L1RHfQMx]
- displayのソース見ましたが、エクセプションはスローされないようですね…
素直にtemplate_exist使いたいとおもいます。 >>786 voidですね。
- 793 名前:nobodyさん mailto:sage [2009/11/20(金) 15:02:58 ID:???]
- fatal error出るでしょに対する返答がvoidですとか謎い
- 794 名前:nobodyさん [2009/11/20(金) 15:05:46 ID:L1RHfQMx]
- display_errors = Off
↓ display_errors = On httpd restart error_reporting(E_ALL); try { $smarty->display($tpl); } catch { なんたら } >>791 XAMPPじゃないです。それぞれソースからいれました。
- 795 名前:nobodyさん [2009/11/20(金) 15:09:05 ID:L1RHfQMx]
- あ、794の結果はダメでした。同じ結果で白い画面になります。
>>793 789への自己レスです。
- 796 名前:nobodyさん mailto:sage [2009/11/20(金) 15:12:27 ID:???]
- ちょろっとググってみたらこんなんもあった
(2)Smartyのファイルを調べてみる 画面が真っ白になった原因として、Smartyのファイルが壊れていることがあるのです。 xoops-manual.net/modules/smartsection/item.php?itemid=17
- 797 名前:nobodyさん mailto:sage [2009/11/20(金) 15:14:35 ID:???]
- >>794
テンプレートファイルが無かった場合に出るエラーは Smarty.class.phpの1591行目くらいにある $this->trigger_error('unable to read resource: "' . $params['resource_name'] . '"'); でしょ? で、例外をスローさせるための案 1.当該箇所を書き換える 2.Smartyクラスを継承したMySmartyクラスを作って_fetch_resource_infoメソッドをオーバライドする 3.set_error_handler関数でwarningが発生した時に例外投げるようにする xamppじゃないとのことなので真面目に答えてみました
- 798 名前:nobodyさん [2009/11/20(金) 15:25:36 ID:L1RHfQMx]
- >>797
おぉ、まさに欲しかった回答です。 ありがとうございます。 そのワーニングで間違いないです。 1…書き換えるのは好きじゃないです。 2…うーん、処理に悩みそうです。 3…これが簡単そうです。 ちょっとがんばってみます。 たすかります。
- 799 名前:nobodyさん mailto:sage [2009/11/21(土) 10:25:34 ID:???]
- fetchってどういうとき使うの?
- 800 名前:nobodyさん mailto:sage [2009/11/21(土) 11:47:09 ID:???]
- 自動送信・返信メールの文面とか。
|

|