- 1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp]
- まぬあるwww.smarty.net/manual/ja/
- 519 名前:nobodyさん mailto:sage [2009/07/24(金) 22:42:57 ID:???]
- >>518
コンパイル済みテンプレートとキャッシュを混同してるだろw 俺は使ってない。 本当にキャッシュが必要なページはrenderしたものを自前で静的htmlファイル生成化してるわ。 1時間に一回再生成するようなページで使えば楽んだろうけど、レアケースだよね。
- 520 名前:nobodyさん mailto:sage [2009/07/25(土) 00:10:16 ID:???]
- >>519
批判じゃなくて興味本位だが、 なぜSmartyのキャッシュじゃなくて、自前なの? Smartyで同じ事出来るよね?
- 521 名前:nobodyさん mailto:sage [2009/07/25(土) 01:34:19 ID:???]
- キャッシュ使うとテンプレートの更新が反映されないんだが
更新したらキャッシュ切らないとだめなの?
- 522 名前:519 mailto:sage [2009/07/25(土) 05:09:32 ID:???]
- >>520
Smartyのキャッシュって、 PHP呼び出し → Smartyインスタンス生成 → キャッシュ確認 → 出力 という処理が入るから、生成されたHTMLファイルに直接アクセスする場合と比べると負荷はかかるんだよね。 519にも書いたように定期的に自動で再生成するような場合は楽だけどさ。 自分のやってるシステムでは、管理者が任意のタイミングで再生成するのがほとんどだから、自前で実装している。 DBからのデータを差し込みつつ、出力をキャッシュするってページはあまり無いからなぁ…。
- 523 名前:nobodyさん mailto:sage [2009/07/25(土) 11:35:37 ID:???]
- >>521
テンプレートを更新したらキャッシュを削除するのが、 一番手っ取り早いし、確実だと思うよ。 >>522 なるほど。俺は、テンプレート(ヘッダーフッターなど)を DBで管理しているんだが、 テンプレート内にもSmartyタグを使ってるから、 自前のキャッシュファイル生成だとそれらが反映されずに困るんだよな
- 524 名前:nobodyさん mailto:sage [2009/07/26(日) 02:40:29 ID:???]
- >>523
ん?DBから動的に書き出す(+Smartyタグを処理する)場合ってキャッシュは使えないよね? コンパイル済みテンプレートの事? 俺の中では キャッシュ … DBデータ等の差し込み済み出力結果を静的に保存する。 コンパイル済 … SmartyテンプレートをPHPコードとしてキャッシュする。 って定義なんだ。 これが正しいかはわからない。誰が偉い人まとめて!
- 525 名前:nobodyさん mailto:sage [2009/07/26(日) 03:26:35 ID:???]
- じゃDBデータがあるサイトの場合は
その都度キャッシュのon/offを切り替えて使えということ? あるいはインスタンスを分けるとか?
- 526 名前:nobodyさん mailto:sage [2009/07/26(日) 04:04:17 ID:???]
- キャッシュするなキャッシュ自体に期限を設けるのが一般的かな、
毎回DBからデータを持ってくるのであれば、 それは事実上キャッシュは不可能。 コンパイル済テンプレートのキャッシュは常に有効にしておいて良いと思うよ。
- 527 名前:nobodyさん mailto:sage [2009/07/27(月) 11:12:36 ID:???]
- テンプレート自体をDBに格納してるって話じゃないの?
- 528 名前:nobodyさん mailto:sage [2009/07/27(月) 11:30:56 ID:???]
- え?
- 529 名前:nobodyさん mailto:sage [2009/07/27(月) 12:48:51 ID:???]
- へ?
- 530 名前:nobodyさん mailto:sage [2009/07/27(月) 17:40:06 ID:???]
- >>525 の意味がいまいちわからんのだが…
キャッシュの有効期限とかどうしてるの? 設定してあれば on / offしなくても自動でキャッシュ更新されるし、 設定していないのであれば、キャッシュは生成されないだろうし。 上にもある通り、キャッシュとコンパイル済テンプレートの認識が混ざってないかい?
- 531 名前:nobodyさん mailto:sage [2009/07/27(月) 22:41:03 ID:???]
- え?
- 532 名前:nobodyさん mailto:sage [2009/07/28(火) 10:37:13 ID:???]
- テンプレートってDBとかに格納しておけるの?
できるならすごい便利なんだが
- 533 名前:nobodyさん mailto:sage [2009/07/28(火) 14:22:43 ID:???]
- >>532
できなくはないでしょ
- 534 名前:nobodyさん mailto:sage [2009/07/28(火) 15:09:38 ID:???]
- >>532
Smartyヘルプのリソースプラグイン読んでごらん。 まんまDBからテンプレート取得するコード書いてあるから。
- 535 名前:nobodyさん mailto:sage [2009/07/28(火) 16:09:45 ID:???]
- できなくないのは分かるけど
いまいちどういう時に使いたいのかわからん。 ファイル名でマッピングしておくのと何が違うんだろ?
- 536 名前:nobodyさん mailto:sage [2009/07/28(火) 17:56:09 ID:???]
- >>535
updateコマンドで一括変更したり、日にちでサイトをガラッと変えたりするんじゃね
- 537 名前:nobodyさん mailto:sage [2009/07/28(火) 20:41:09 ID:???]
- >>535
CMSとか作る場合には良いんじゃないかね。 管理画面からの検索や更新、バックアップが取りやすい。 あとはWEBサーバが冗長化されていて、リソースを一箇所に纏めたい場合とかかね。 制作の手間暇考えたら、メリットは薄いと思うけど。
- 538 名前:nobodyさん mailto:sage [2009/07/29(水) 22:00:38 ID:???]
- >>535
ファイルをDBで管理すると、WEB上から更新できるならな。 しかし、複数アカウントを発行して利用するシステム(MTなど の場合は、システム毎にテンプレートを編集できるので ファイルで管理するより便利。メリットは絶大だと思う。
- 539 名前:nobodyさん mailto:sage [2009/07/30(木) 00:20:18 ID:???]
- いや、その用途なら普通にファイル編集orアップローダのが楽だろ…
- 540 名前:nobodyさん mailto:sage [2009/07/30(木) 12:07:42 ID:???]
- >>539
DB分かってる人ならDB使うのがラクだと思えるよ。 ファイルはすぐ腐る。
- 541 名前:nobodyさん mailto:sage [2009/07/30(木) 12:13:33 ID:???]
- 少し腐ったぐらいが美味しい...
- 542 名前:nobodyさん mailto:sage [2009/07/30(木) 12:16:56 ID:???]
- ファイルは数が増えるとどんどん大変になるんだよな
- 543 名前:nobodyさん mailto:sage [2009/07/30(木) 16:35:27 ID:???]
- システム作る側は楽かもね。
デザイナの大半はローカル環境でコーディング、一括でアップロードを望んでいる。 またテンプレート自体がバージョン管理下に置かれている事も多々ある。 運営する上でDBに流し込み作業が発生するのは楽ではない。
- 544 名前:nobodyさん mailto:sage [2009/07/30(木) 16:40:57 ID:???]
- ディレクトリ分けもせずに700個のHTMLと格闘してる奴を見てるとホント馬鹿だと思えてくる
- 545 名前:nobodyさん mailto:sage [2009/07/30(木) 17:12:18 ID:???]
- そんな奴いねーよw
- 546 名前:nobodyさん mailto:sage [2009/07/30(木) 18:40:48 ID:???]
- 700個のHTMLって時点でテンプレートを活かしてない感じが…
- 547 名前:nobodyさん mailto:sage [2009/07/30(木) 18:50:56 ID:???]
- テンプレどころかCSSすら使ってないんですわ、マジで。
- 548 名前:nobodyさん mailto:sage [2009/07/30(木) 18:58:17 ID:???]
- でも場末のウェブ制作屋ってほんとひどいからね。
ちょっとかじった中学生か、ってレベルのおっさんが 見てて頭痛くなってくるような非効率的な作業環境で、 素人騙して金貰ってるようなとこいっぱいあるぞ。
- 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の中を見てみたら?
|

|