1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp] まぬあるwww.smarty.net/manual/ja/
549 名前:nobodyさん mailto:sage [2009/07/30(木) 21:03:15 ID:???] >>543 流し込み作業をプログラムですれば良いだけだろ 一括アップロードと変わらん
550 名前:nobodyさん mailto:sage [2009/07/30(木) 22:46:24 ID:???] >>549 それやってしまうとファイル管理のメリットも、DB使うメリットも薄れてしまう気がするんだが。
551 名前:nobodyさん mailto:sage [2009/07/30(木) 23:54:04 ID:???] というかDBなんてある意味ファイル管理をラップしたようなもんだから DBでできてファイル直弄りでできんことはないだろ。 せっかくキャッシュとか使ってるのに 変なとこでDB使うとパフォーマンスのボトルネックにもなりかねんし DBじゃなきゃ開発コストパフォーマンスの点でよっぽど差がでる って場合じゃなきゃ下手にDB化なんかせんよ。 そういう奴は画像ファイルとかもカラムに突っこんでるタイプだろ。
552 名前:nobodyさん mailto:sage [2009/07/31(金) 00:03:20 ID:???] どちらにしろデータとして記録するんだからファイルで置こうがDBに突っ込もうが大して変わらんだろ
553 名前:nobodyさん mailto:sage [2009/07/31(金) 01:55:56 ID:???] Smarty使って、DBではなくファイルで管理しているWEBアプリってあるか? って思ったけど、OpenPNEがそうだな。追加で編集する場合はDB使うけど
554 名前:nobodyさん mailto:sage [2009/07/31(金) 02:04:43 ID:???] >>552 制作、運用、実行コスト、全てが大きく変わるわw 検索するとか、システム一括で何かしたいとか、特別な理由が無い限りDBにテンプレートつっこむのはナンセンス。
555 名前:nobodyさん mailto:sage [2009/07/31(金) 02:43:31 ID:???] ナンセンスってほどでも無いっしょ ファイルシステムだって名称を唯一のキーとしたDBみたいな物だし
556 名前:nobodyさん mailto:sage [2009/07/31(金) 03:11:10 ID:???] PCのスペックが上がりまくったせいで、恐ろしいほどのヘマをしない限りは DBで記録しようがファイルで置こうがボトルネックと呼べるレベルのものは出ない むしろ、恐ろしいほどに数が増えて人的に整理が大変になったほうがボトルネック
557 名前:nobodyさん mailto:sage [2009/07/31(金) 03:49:06 ID:???] >>555 だからこそナンセンスなんだよw ファイルシステムの実装はDBそのものなんだから、DBにつっこむ必要が無いものをつっこむ必要は無い。 >>556 にわかSEにありがちな発想ですね(^^ 人的整理はDBやSmarty以前のバージョン管理、運用の問題。
558 名前:nobodyさん mailto:sage [2009/07/31(金) 04:25:59 ID:???] >>557 ほう、ではDBとFSで実装した場合の違いを定量的に示してくれ
559 名前:nobodyさん mailto:sage [2009/07/31(金) 04:42:31 ID:???] >>558 FSじゃなきゃ出来ない事、FSなら標準で出来る事は多々あるだろう。 ・DBコネクション等の負荷が無い ・当然PHP側のコードもシンプル ・SVN等のバージョン管理システムが使える ・使い慣れたエディタで直接編集が可能 ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在 ・当然複雑な管理画面も不要になる為実装コストは激減 これらはFSなら特別な実装は不要。 君はDBで実装出来るか? 検索したいとか、DBサーバで集中管理したいとか、特別な要件が無い限りテンプレートのDB化はしない。 逆にDBを疑似ファイルシステムとして使うメリットとその実装コストを教えて欲しい。 オープン系CMSを引き合いに出すのであれば、同等の管理画面等を作るコストも入れてくれよな。
560 名前:nobodyさん mailto:sage [2009/07/31(金) 05:22:21 ID:???] 定量的の意味知ってるか?
561 名前:nobodyさん mailto:sage [2009/07/31(金) 05:56:21 ID:???] 定量的って言葉使いたいだけですか?w >>559 に答えられたら答えてやんよ。
562 名前:nobodyさん mailto:sage [2009/07/31(金) 10:54:30 ID:???] まぁ、喧嘩するなや。 第三者からみたら、有益な討論してるように感じるんだから。
563 名前:nobodyさん mailto:sage [2009/07/31(金) 11:13:51 ID:???] >>561 低学歴乙
564 名前:nobodyさん mailto:sage [2009/07/31(金) 11:35:24 ID:???] >>562 有益かはともかくSmartyの議論ではなさそうだな。
565 名前:nobodyさん mailto:sage [2009/07/31(金) 12:20:19 ID:???] >>564 Smartyの使い方に関する議論だろ
566 名前:nobodyさん mailto:sage [2009/07/31(金) 15:05:22 ID:???] smartyってHTMLだけしか知らないデザイナーに読みやすくするためだけの技術だろ
567 名前:nobodyさん mailto:sage [2009/07/31(金) 16:10:10 ID:???] 逆だと思うが。PHPを使えるプログラマー用の技術だろ。
568 名前:nobodyさん mailto:sage [2009/07/31(金) 18:56:10 ID:???] >>563 答えられない質問には煽る…典型的な厨ですね。 定量的も何も、FSの場合は >>559 の 実装コストはほぼゼロ。 DBで作った場合のコストは?低学歴な僕には検討もつきません><おしえてください。
569 名前:nobodyさん mailto:sage [2009/07/31(金) 19:46:53 ID:???] >>568 俺も低学歴だけど頑張ってみる XOOPSみたく、ベースはファイルで、そっからDB突っ込む奴で考えてみた > ・DBコネクション等の負荷が無い キャッシュファイル使えばテンプレ本体がDBにあっても関係ない > ・当然PHP側のコードもシンプル プラグインで済むから同じ > ・SVN等のバージョン管理システムが使える ベースのテンプレートをファイルにすれば同じ > ・使い慣れたエディタで直接編集が可能 コピペすれば一緒かと > ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在 phpMyAdminは使い慣れたソフトってことで > ・当然複雑な管理画面も不要になる為実装コストは激減 テキストボックスで十分じゃん > 同等の管理画面等を作るコストも入れてくれよな。 phpMyAdminで十分 テンプレートがDBに入ってて便利なのは、 出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと 頑張れば携帯でも更新出来るし。。。
570 名前:nobodyさん mailto:sage [2009/07/31(金) 19:49:07 ID:???] ファイル操作用のPHPコードと DB操作用のSQLでは、後者の方が自由度高いと思うけどな
571 名前:nobodyさん mailto:sage [2009/07/31(金) 20:49:32 ID:???] >>568 煽ったのはお前だろカスが 最初に質問したのは俺だが何故答えないの?
572 名前:nobodyさん mailto:sage [2009/07/31(金) 20:58:48 ID:???] また「全部自分でやるから実行速度は早い」とかえらそうにしてる馬鹿が騒いでるのか
573 名前:nobodyさん mailto:sage [2009/07/31(金) 21:21:59 ID:???] >>571 「俺だが」ってIDも出していない奴をどうやって判断する? 俺たちはエスパーじゃないぞ?
574 名前:nobodyさん mailto:sage [2009/07/31(金) 23:21:12 ID:???] >>569 > キャッシュファイル使えばテンプレ本体がDBにあっても関係ない テンプレート更新確認の為に、DB接続されるよ。 > プラグインで済むから同じ プラグイン作成、テストの工数がかかるよ。 > ベースのテンプレートをファイルにすれば同じ 一括でコミットしたり、指定リビジョンにロールバックしたい場合とか困るよね。 > コピペすれば一緒かと エディタで編集→管理画面を開く→コピペ→DBにコミット→確認が、直接編集と同じ手間と? > phpMyAdminは使い慣れたソフトってことで ファイルやディレクトリ単位での権限管理はどうするの? 例えば一時的にディレクトリ名を変えてバックアップ取りたい場合とか、運営者にSQLを書かせるの? > テキストボックスで十分じゃん 見た目上はそうかもしれないが、内部実装は相応のコストがかかると思うよ。 複数ファイル同時に更新しなきゃいけない場合とかもあるしさ。 > phpMyAdminで十分 上に同じ。 > テンプレートがDBに入ってて便利なのは、 > 出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと > 頑張れば携帯でも更新出来るし。。。 これはDBかFSかは関係無くね?制作者的にはSQL回す方が楽ではあるだろうけど。 >>571 >>568 で答えてるよ。FSならコストゼロ、DB実装なら相応。要件次第。 高学歴の君に、DBで同等の実装をした場合のコストを教えて欲しいな。
575 名前:nobodyさん mailto:sage [2009/08/01(土) 01:20:41 ID:???] だから、いちいち煽り入れるなって お前がせっかく書いたレスも陳腐な物になるぞ
576 名前:nobodyさん mailto:sage [2009/08/01(土) 23:36:43 ID:???] >>571 はどこいっちゃったの?
577 名前:nobodyさん mailto:sage [2009/08/02(日) 01:41:46 ID:???] お前がいい加減にしろ
578 名前:nobodyさん mailto:sage [2009/08/02(日) 01:48:38 ID:???] >>571 はどこいっちゃったの?
579 名前:nobodyさん mailto:sage [2009/08/02(日) 03:05:41 ID:???] まぁ普通はDBを使うメリットなんて無いって事さ DB憶えたての頃は俺も無闇にDB化したがったものだ
580 名前:nobodyさん mailto:sage [2009/08/03(月) 01:13:56 ID:???] じゃ、大手ポータルサイト(ブログとか)って テンプレートをDBに入れずにファイルで読み書きしてるのかな?
581 名前:nobodyさん mailto:sage [2009/08/03(月) 03:29:39 ID:???] そんな極少数の大規模案件を例えに出されてもなぁ・・・ 使ってるところは使ってるだろう(ハテナとか、スケーラビリティか何かを考慮してDBをファイル置き場に使ってるとか) 要件次第なんじゃない? それなりの資金と開発期間があり、WEBベースで不特定多数が編集するシステム開発 とかだったらDB化した方が遙かに楽だろう。
582 名前:nobodyさん mailto:sage [2009/08/03(月) 09:46:29 ID:???] >>581 DB使うメリットないとか言っといて 結局要件しだいかよw
583 名前:nobodyさん mailto:sage [2009/08/03(月) 10:57:19 ID:???] >>581 つまり、結局は「DB化した方が遥かに楽」なケースが”ある”ということですね
584 名前:nobodyさん mailto:sage [2009/08/03(月) 17:52:34 ID:???] >>582-583 最初から『意味も無く』FSをDBに置き換えるのがナンセンスと書いてるじゃないかw 揚げ足取りはいいから、具体的なメリットデメリットを提示してくれよ、 大手が使ってるとか、Open系CMSが使ってるからでは話にならん。
585 名前:nobodyさん mailto:sage [2009/08/03(月) 18:04:36 ID:???] っていうか大手CMSサイトってPHP+Smartyなの?その時点でその話は破綻している。
586 名前:nobodyさん mailto:sage [2009/08/03(月) 18:24:53 ID:???] どちらも都合のいいように解釈しすぎで、この話はいつまで経っても平行線。
587 名前:nobodyさん mailto:sage [2009/08/03(月) 18:59:14 ID:???] 平行線にすらなっていない。 DB厨がファビョっているだけだ。
588 名前:nobodyさん mailto:sage [2009/08/03(月) 20:12:30 ID:???] ファビョってるのはむしろお前だろ?1人で戦っているつもりだろうがw
589 名前:nobodyさん mailto:sage [2009/08/03(月) 21:44:15 ID:???] いちいち煽りに反応しなくていいからw とりあえず君のすばらしい経験談と、DB捌きっぷりをこのスレに轟かせれば、 もう少しましな流れになるんじゃないかな? (^o^)でーたべーす は すごく すごい!・・・なぜなら、すごいから! (^o^)でーたべーす の すごさがわからないやつは すごくない!
590 名前:nobodyさん mailto:sage [2009/08/03(月) 22:23:10 ID:???] 「要件次第でDB使う」でみんな納得。 丸く納まってよかった。
591 名前:nobodyさん mailto:sage [2009/08/03(月) 22:34:30 ID:???] 以下Smarty3を語るスレになりました。 開発ペース遅すぎるよね。
592 名前:nobodyさん mailto:sage [2009/08/04(火) 00:10:08 ID:???] htmltemplate.php で十分だしー
593 名前:nobodyさん mailto:sage [2009/08/04(火) 00:13:10 ID:???] >>590 すまんけどどういう要件ならDB、FSを使うべきかまとめてくれないか?
594 名前:nobodyさん mailto:sage [2009/08/04(火) 01:04:56 ID:???] >>593 大規模案件ならDB でいいんじゃないか。
595 名前:nobodyさん mailto:sage [2009/08/04(火) 01:51:48 ID:???] >>593 基本的にはFSじゃないかね。 DBは使う必要があれば使えばいい。 あまり思い浮かばないし、実例も聞かないけどね。
596 名前:nobodyさん mailto:sage [2009/08/04(火) 02:01:18 ID:???] すまん 結局>>581 が結論でいいんじゃないかと言いたかった。
597 名前:nobodyさん mailto:sage [2009/08/04(火) 09:05:44 ID:???] OK
598 名前:nobodyさん mailto:sage [2009/08/04(火) 11:09:38 ID:???] >>591 ぜひ参画してくださいよ
599 名前:nobodyさん mailto:sage [2009/08/04(火) 11:24:56 ID:???] 大規模案件にはJAVAという逆説。
600 名前:nobodyさん [2009/08/10(月) 18:05:18 ID:euq/7Zv+] すみません、質問です テンプレートファイル内で、{php}〜{/php}って形で、phpのプログラムを実行出来ますが、 この「〜」の部分で、assignされた変数を操作することは出来ないでしょうか {php} //ここで{$name}の中身を変更したり、{$name}をキーにして画像を出力する関数を実行したい {/php} 私の名前は{$name}です こんな感じで… よろしくお願いします。
601 名前:nobodyさん mailto:sage [2009/08/10(月) 18:19:27 ID:???] そのロジックはテンプレートじゃなくて、呼び出し元に書くべきでは・・・ やった事ないけど、Smartyインスタンスをなんらかの形で参照すれば出来るんじゃない? グローバル変数にするとか、シングルトン使うとか、etc
602 名前:nobodyさん [2009/08/10(月) 18:26:43 ID:euq/7Zv+] >>601 ありがとうございます、やっぱり呼び出し元でやるべきなんでしょうか? いまassignされて引き渡されるデータが配列一つなので、それを元にテンプレートでやった方がスマートなんですよね 呼び出し元で各値の条件分岐分やるとassign assign assign…とassignだらけになってしまうので テンプレ長くする方が問題かなぁ
603 名前:nobodyさん mailto:sage [2009/08/10(月) 18:35:23 ID:???] >>602 もしかしてこんな感じで解決しない? if(...) { $a=1; } else { $a=2; } $smarty->assign('a',$a);
604 名前:nobodyさん [2009/08/10(月) 18:43:35 ID:euq/7Zv+] >>603 ありがとうございます、そうですねー、確かにassign段階で書くとそんな感じですよね 決めました。そうします。 テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。 いや、テンプレ変更する時のデメリットの方が大きそうだし。。 アドバイスありがとうございました!
605 名前:nobodyさん mailto:sage [2009/08/10(月) 19:16:08 ID:???] >>604 条件分岐やるとassignが増えるってどういうこと? 配列をそのまま使えば?
606 名前:nobodyさん mailto:sage [2009/08/10(月) 19:21:31 ID:???] >テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。 テンプレートとロジックの切り分けは、そのゴチャゴチャを纏める事にあるんだよw アクションとテンプレ両方で値を編集しちゃうと、 どこでバグが発生したか突き止められなくなっちゃうでせう。
607 名前:nobodyさん mailto:sage [2009/08/10(月) 19:38:15 ID:???] >>605 例えば、入力任意のファックス番号とかあったとして、必須入力だったら確かにテンプレでは配列そのまま使って FAX:{$ary.faxNum} で済むけど、必須じゃないんでその前段階のアクションで if($ary['faxNum'];){$faxNum = $ary['faxNum'];} else{$faxNum = "-";} //assign処理 ってやる必要あるじゃないですか。それが嫌だったんですよ。 必須入力じゃない項目の数だけassignしまくらなきゃいけない。めんどくさいなぁと。 そこでphpかsmartyの構文で、テンプレの中で{if}とかしようと思ったんだけど… でも、確かに>>606 の言う通り、あっちこっちにまたがって値を編集しちゃダメですね。 smarty構文はデザインとか見た目(まさにテンプレート)を自動生成するためだけに使わなきゃなぁと ようやく結論づきました。
608 名前:nobodyさん mailto:sage [2009/08/10(月) 20:32:12 ID:???] >>607 if(!isset($ary['faxNum'])) ($ary['faxNum'] = "-"; って書いて、$ary変数だけassignすればいいんじゃない? その程度の表示分岐処理なら、テンプレート側でもOKかと思う。 {$ary.faxNum|default:"-"} でいけない?
609 名前:nobodyさん mailto:sage [2009/08/10(月) 20:50:18 ID:???] 値未入力であることを示すのに、何を表示するのかはview側の仕様だわな。 ひょっとしたら先々仕様変更で「入ってまへんで、へよへよ」と表示するようになるかもしれん。 そのとき内部データにそんな値(内容)入れたくないだろ? 608の後半みたいにテンプレ側でやった方がいいよ。
610 名前:nobodyさん mailto:sage [2009/08/10(月) 22:51:30 ID:???] >>608-609 うーん、そうか。 ケースバイケースでどうやるべきかじっくり考えてやってみるね ありがとう
611 名前:nobodyさん mailto:sage [2009/08/10(月) 23:13:31 ID:???] 度々申し訳ない {if}--{/if}の中で、smarty変数を生成できないの? assignと同じことをしたいんだけど {if $var eq "hoge"} $newVar = "hogeでした"; {/if} みたいな…
612 名前:nobodyさん mailto:sage [2009/08/10(月) 23:15:44 ID:???] assignでなんでだめなの?
613 名前:nobodyさん mailto:sage [2009/08/10(月) 23:42:39 ID:???] >>612 assignはphp側の処理ですよね、テンプレ側で値を割り当てたいので。。
614 名前:nobodyさん mailto:sage [2009/08/11(火) 01:09:27 ID:???] {assign} タグ使えば?
615 名前:nobodyさん mailto:sage [2009/08/11(火) 03:32:24 ID:???] >>614 ありがとう! こんなのがあったのか。助かりました!
616 名前:nobodyさん mailto:sage [2009/08/11(火) 03:33:31 ID:???] assignassign言うから当然テンプレート側のこと言ってると思ったら assignタグすら知らんかったのか。
617 名前:nobodyさん mailto:sage [2009/08/11(火) 12:14:27 ID:???] だからphpタグなんぞで処理したかったのか・・・。
618 名前:nobodyさん mailto:sage [2009/08/12(水) 05:56:44 ID:???] $hogeAry = Array ( [0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 ) [1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 ) [2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 ) ) という配列があります。 これのphotoNameを引き出したくて以下のものを実行してますがうまくいきません。何が原因でしょうか? {foreach from=$hogeAry item=varAry} 名前は:{$varAry.photoName}<br /> {/foreach} {$hogeAry.0.photoName} なら、ちゃんとgalleryPic7が出力されます
619 名前:nobodyさん mailto:sage [2009/08/12(水) 06:23:13 ID:???] varAryの中を見てみたら?
620 名前:nobodyさん mailto:sage [2009/08/12(水) 08:01:33 ID:???] ループは回ってる?「名前は:」って文字は出力されてる? {foreach from=$hogeAry item=varAry} {foreach from=$varAry item=item key=key} {$key}={$item}<br> {/foreach} {/foreach} で中身表示テストしてみ。
621 名前:nobodyさん [2009/08/12(水) 10:23:00 ID:u9+iooGY] >>620 0=z 0=z 0=z とだけ出力して終わってます。。ループ自体はしてるってことですよね? なんでだろ? 配列じゃないのかな。 上で書いた配列は、以下の実行結果です。(zendFWを使った、クエリの結果) function gallery($uType,$uId){ $table = $this->_config->table->gallery; $stt = $this->_db->fetchAll("SELECT * FROM {$table} WHERE `uType`=? AND `uId`=? AND `photo_on`=1 ORDER BY `id` LIMIT 10", array($uType,$uId)); return $stt; } $this->view->hogeAry = $this->_db->gallery('spot',$uId);
622 名前:nobodyさん mailto:sage [2009/08/12(水) 10:32:56 ID:???] >>621 Smarty側に正常にassign出来てない可能性大。 1. hogeAryが正常な配列か確認。 var_dump($this->view->hogeAry); 2. hogeAryがSmartyにassignされてるか確認。
623 名前:nobodyさん [2009/08/12(水) 11:18:13 ID:u9+iooGY] >>622 var_dump($this->view->hogeAry); の結果は $hogeAry = Array ( [0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 ) [1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 ) [2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 ) ) .tplでの {$hogeAry|@var_dump} の結果は Array ( [0] => [1] => [2] => ) 1 {$hogeAry.0.photoName} の結果は galleryPic7 ちゃんとテンプレートまでassignされてきてるってことですよね? foreachだけがうまくいかないってことかなー
624 名前:nobodyさん mailto:sage [2009/08/12(水) 11:41:14 ID:???] 619はシカトですかそうですか
625 名前:nobodyさん [2009/08/12(水) 12:16:00 ID:u9+iooGY] >>624 すみません、varAryの中身のチェックの方法がわからなかったもので。。 {foreach item=varAry from=$hogeAry} {$varAry|@var_dump}<br /> {/foreach} とりあえず思いつく限りで上記をやったら string(0) "" string(0) "" string(0) "" が返ってきます {foreach item=varAry from=$hogeAry} {$varAry.photoName}<br /> {/foreach} だと何も返ってきません(改行3つだけです) ほんとに済みませんでした
626 名前:nobodyさん mailto:sage [2009/08/12(水) 12:34:49 ID:???] 原因切り分けてみたら? 本当にDBから値は取れてるのか、違う関数コールしてないか、 ただの配列なら表示できるのか、などなど。 可能だったら再現するコードも貼って。
627 名前:nobodyさん mailto:sage [2009/08/12(水) 13:54:35 ID:???] {debug} タグでassignされてる変数確認してみ。
628 名前:nobodyさん [2009/08/12(水) 17:19:17 ID:u9+iooGY] >>626-627 どうもありがとうございます 普通の配列なら大丈夫です。同じDBから同様の手続きで取得してるクエリ結果(通常の配列)があるんですが、 それはforeachで解析できています。 {debug}はdisplay形式じゃないとダメみたいで、僕のやり方がそうじゃないので動きませんでした。 それで、今ループ処理をsection形式で試してみたんですが、section なら二次元配列の処理大丈夫でした。(以下が動きました。) {section name=varAry loop=$hogeAry} {$smarty.section.counter.total}<br> (このカウンターは動きませんでした) 要素: {$hogeAry[varAry].id}<br> 要素: {$hogeAry[varAry].photoName}<br> 要素: {$hogeAry[varAry].photo_text}<br> {/section} とりあえず、お騒がせして申し訳なかったですが、foreachは諦めてこっちで極力対応したいです。
629 名前:nobodyさん mailto:sage [2009/08/13(木) 16:40:28 ID:???] 結局原因は何なの?
630 名前:nobodyさん [2009/08/21(金) 13:05:34 ID:WhelcFIU] 質問させてください。 テンプレート中の {$hoge}って変数に対してphpのクラス中のメソッドを実行するって可能でしょうか? これまでは、php中で $hoge=$instance->method($hoge1,引数1,引数2); として、適切な値を返してたんですが、同じ事をテンプレートの中でやりたいと思います。 {$hogetext|nl2br}などでphp関数を実行できるのは知ってるんですが、調べたところメソッドの実行は 見つけられませんでした。無理なんでしょうか? assign 前に実行すべき?
631 名前:nobodyさん mailto:sage [2009/08/21(金) 14:42:48 ID:???] 修飾子プラグインの中でメソッド呼べばよいのでは
632 名前:nobodyさん mailto:sage [2009/08/21(金) 18:37:07 ID:???] >>631 どうもありがとうございます 修飾子プラグイン、知りませんでした! 勉強になります、ありがとう
633 名前:nobodyさん mailto:sage [2009/08/21(金) 22:16:33 ID:???] プラグインの中で他のプラグインの機能を呼び出すことってできますか?
634 名前:nobodyさん mailto:sage [2009/08/21(金) 22:16:56 ID:???] できるよ
635 名前:nobodyさん [2009/08/22(土) 00:43:33 ID:qs0RE9DR] 修飾子プラグインの勉強始めたんですが、引数を2つもたせる方法がわかりません。 {$num}というsmarty変数に対して、 function smarty_modifier_NUMtoTEXT($num,$aryName){ return $allAry[$aryName][$num]; } というプラグインを実行したいんですがどう書いたら良いんでしょうか? {NUMtoTEXT:$num:"boyAry"}とかやってみたんですがうまくいきません。
636 名前:nobodyさん mailto:sage [2009/08/22(土) 00:59:28 ID:???] >>635 www.smarty.net/manual/ja/language.modifiers.php
637 名前:nobodyさん mailto:sage [2009/08/22(土) 05:08:49 ID:???] >>634 kwsk
638 名前:nobodyさん mailto:sage [2009/08/22(土) 12:26:11 ID:???] >>637 ggrks
639 名前:nobodyさん mailto:sage [2009/08/22(土) 23:19:02 ID:???] >>636 返事遅れました。うまくいきました、ありがとう
640 名前:nobodyさん mailto:sage [2009/08/25(火) 00:15:56 ID:???] foreach だの sectionだのって、なんで素直にfor文用意してくれないんだろね php用テンプレートなのにわざわざ特殊な書式だし、頭に入らなくてしょっちゅうマニュアル見てる 頭悪くて悲しいな
641 名前:nobodyさん mailto:sage [2009/08/25(火) 06:09:04 ID:???] >>640 Smarty3で追加される
642 名前:nobodyさん mailto:sage [2009/08/25(火) 13:55:26 ID:???] >>641 ほんとに? 情報ありがとう、気分が楽になったよw そういう情報を仕入れる前向きさがないとイカンなぁ
643 名前:nobodyさん mailto:sage [2009/08/26(水) 12:19:29 ID:???] キャッシュしてできたファイルの中にSmartyタグって入れられないよね? 検索フォームがあったとして <input name="keyword" type="text" value="{$smarty.post.keyword}"> として検索後にデフォルト値を入れてるんだけど、 キャッシュしたらこういう事が出来ないと思って。
644 名前:nobodyさん mailto:sage [2009/08/26(水) 13:37:23 ID:???] >>643 insertタグで出来るんじゃね? あと検索結果画面だと思うけど、それってキャッシュするべきじゃなくね?w するにしてもSmarty側でするもんじゃないと思う。
645 名前:nobodyさん mailto:sage [2009/08/26(水) 14:37:50 ID:???] そのキーワード毎にキャッシュしたいのならば、それをキャッシュIDにすれば。
646 名前:nobodyさん mailto:sage [2009/08/26(水) 23:01:41 ID:???] >>644-645 ページのサイドバーをキャッシュしているんだが、 その箇所に検索フォームやログインフォームが入っているんだよ。 確かにキャッシュするべきじゃないが、 部分毎にわかるとキャッシュする意味がないかな?とも思ったり。 やっぱり、設計に問題あるかも・・。
647 名前:nobodyさん [2009/08/28(金) 14:54:05 ID:45fY5t7E] サイドバーの質問が出てるので聞きます dbの返り値次第でサイドバーのデザインが数パターンに変わる場合、smartyのif文で書き分けするしかないのかな? 正直{if}に限らず醜いんで多用したくないんですよね… 部分的にデザインパターンを読み込むなど、他の解決方法はないですか?
648 名前:nobodyさん mailto:sage [2009/08/28(金) 15:03:05 ID:???] コントローラ側で制御すれば?
649 名前:nobodyさん mailto:sage [2009/08/28(金) 15:25:18 ID:???] テンプレートを数パターン用意すれば?