トップページphp
1001コメント342KB

【PHP】 Smarty 隔離スレ 【テンプレート】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/02/02(土) 00:21:09ID:6cKcKeTp
まぬあるhttp://www.smarty.net/manual/ja/
0524nobodyさん2009/07/26(日) 02:40:29ID:???
>>523
ん?DBから動的に書き出す(+Smartyタグを処理する)場合ってキャッシュは使えないよね?
コンパイル済みテンプレートの事?

俺の中では
キャッシュ … DBデータ等の差し込み済み出力結果を静的に保存する。
コンパイル済 … SmartyテンプレートをPHPコードとしてキャッシュする。
って定義なんだ。
これが正しいかはわからない。誰が偉い人まとめて!
0525nobodyさん2009/07/26(日) 03:26:35ID:???
じゃDBデータがあるサイトの場合は
その都度キャッシュのon/offを切り替えて使えということ?
あるいはインスタンスを分けるとか?
0526nobodyさん2009/07/26(日) 04:04:17ID:???
キャッシュするなキャッシュ自体に期限を設けるのが一般的かな、
毎回DBからデータを持ってくるのであれば、
それは事実上キャッシュは不可能。

コンパイル済テンプレートのキャッシュは常に有効にしておいて良いと思うよ。
0527nobodyさん2009/07/27(月) 11:12:36ID:???
テンプレート自体をDBに格納してるって話じゃないの?
0528nobodyさん2009/07/27(月) 11:30:56ID:???
え?
0529nobodyさん2009/07/27(月) 12:48:51ID:???
へ?
0530nobodyさん2009/07/27(月) 17:40:06ID:???
>>525 の意味がいまいちわからんのだが…
キャッシュの有効期限とかどうしてるの?
設定してあれば on / offしなくても自動でキャッシュ更新されるし、
設定していないのであれば、キャッシュは生成されないだろうし。

上にもある通り、キャッシュとコンパイル済テンプレートの認識が混ざってないかい?
0531nobodyさん2009/07/27(月) 22:41:03ID:???
え?
0532nobodyさん2009/07/28(火) 10:37:13ID:???
テンプレートってDBとかに格納しておけるの?
できるならすごい便利なんだが
0533nobodyさん2009/07/28(火) 14:22:43ID:???
>>532
できなくはないでしょ
0534nobodyさん2009/07/28(火) 15:09:38ID:???
>>532
Smartyヘルプのリソースプラグイン読んでごらん。
まんまDBからテンプレート取得するコード書いてあるから。
0535nobodyさん2009/07/28(火) 16:09:45ID:???
できなくないのは分かるけど
いまいちどういう時に使いたいのかわからん。
ファイル名でマッピングしておくのと何が違うんだろ?
0536nobodyさん2009/07/28(火) 17:56:09ID:???
>>535
updateコマンドで一括変更したり、日にちでサイトをガラッと変えたりするんじゃね
0537nobodyさん2009/07/28(火) 20:41:09ID:???
>>535
CMSとか作る場合には良いんじゃないかね。
管理画面からの検索や更新、バックアップが取りやすい。
あとはWEBサーバが冗長化されていて、リソースを一箇所に纏めたい場合とかかね。


制作の手間暇考えたら、メリットは薄いと思うけど。
0538nobodyさん2009/07/29(水) 22:00:38ID:???
>>535
ファイルをDBで管理すると、WEB上から更新できるならな。
しかし、複数アカウントを発行して利用するシステム(MTなど
の場合は、システム毎にテンプレートを編集できるので
ファイルで管理するより便利。メリットは絶大だと思う。
0539nobodyさん2009/07/30(木) 00:20:18ID:???
いや、その用途なら普通にファイル編集orアップローダのが楽だろ…
0540nobodyさん2009/07/30(木) 12:07:42ID:???
>>539
DB分かってる人ならDB使うのがラクだと思えるよ。
ファイルはすぐ腐る。
0541nobodyさん2009/07/30(木) 12:13:33ID:???
少し腐ったぐらいが美味しい...
0542nobodyさん2009/07/30(木) 12:16:56ID:???
ファイルは数が増えるとどんどん大変になるんだよな
0543nobodyさん2009/07/30(木) 16:35:27ID:???
システム作る側は楽かもね。

デザイナの大半はローカル環境でコーディング、一括でアップロードを望んでいる。
またテンプレート自体がバージョン管理下に置かれている事も多々ある。
運営する上でDBに流し込み作業が発生するのは楽ではない。
0544nobodyさん2009/07/30(木) 16:40:57ID:???
ディレクトリ分けもせずに700個のHTMLと格闘してる奴を見てるとホント馬鹿だと思えてくる
0545nobodyさん2009/07/30(木) 17:12:18ID:???
そんな奴いねーよw
0546nobodyさん2009/07/30(木) 18:40:48ID:???
700個のHTMLって時点でテンプレートを活かしてない感じが…
0547nobodyさん2009/07/30(木) 18:50:56ID:???
テンプレどころかCSSすら使ってないんですわ、マジで。
0548nobodyさん2009/07/30(木) 18:58:17ID:???
でも場末のウェブ制作屋ってほんとひどいからね。
ちょっとかじった中学生か、ってレベルのおっさんが
見てて頭痛くなってくるような非効率的な作業環境で、
素人騙して金貰ってるようなとこいっぱいあるぞ。
0549nobodyさん2009/07/30(木) 21:03:15ID:???
>>543
流し込み作業をプログラムですれば良いだけだろ
一括アップロードと変わらん
0550nobodyさん2009/07/30(木) 22:46:24ID:???
>>549
それやってしまうとファイル管理のメリットも、DB使うメリットも薄れてしまう気がするんだが。
0551nobodyさん2009/07/30(木) 23:54:04ID:???
というかDBなんてある意味ファイル管理をラップしたようなもんだから
DBでできてファイル直弄りでできんことはないだろ。
せっかくキャッシュとか使ってるのに
変なとこでDB使うとパフォーマンスのボトルネックにもなりかねんし
DBじゃなきゃ開発コストパフォーマンスの点でよっぽど差がでる
って場合じゃなきゃ下手にDB化なんかせんよ。

そういう奴は画像ファイルとかもカラムに突っこんでるタイプだろ。
0552nobodyさん2009/07/31(金) 00:03:20ID:???
どちらにしろデータとして記録するんだからファイルで置こうがDBに突っ込もうが大して変わらんだろ
0553nobodyさん2009/07/31(金) 01:55:56ID:???
Smarty使って、DBではなくファイルで管理しているWEBアプリってあるか?


って思ったけど、OpenPNEがそうだな。追加で編集する場合はDB使うけど
0554nobodyさん2009/07/31(金) 02:04:43ID:???
>>552
制作、運用、実行コスト、全てが大きく変わるわw

検索するとか、システム一括で何かしたいとか、特別な理由が無い限りDBにテンプレートつっこむのはナンセンス。
0555nobodyさん2009/07/31(金) 02:43:31ID:???
ナンセンスってほどでも無いっしょ
ファイルシステムだって名称を唯一のキーとしたDBみたいな物だし
0556nobodyさん2009/07/31(金) 03:11:10ID:???
PCのスペックが上がりまくったせいで、恐ろしいほどのヘマをしない限りは
DBで記録しようがファイルで置こうがボトルネックと呼べるレベルのものは出ない

むしろ、恐ろしいほどに数が増えて人的に整理が大変になったほうがボトルネック
0557nobodyさん2009/07/31(金) 03:49:06ID:???
>>555
だからこそナンセンスなんだよw
ファイルシステムの実装はDBそのものなんだから、DBにつっこむ必要が無いものをつっこむ必要は無い。

>>556
にわかSEにありがちな発想ですね(^^
人的整理はDBやSmarty以前のバージョン管理、運用の問題。
0558nobodyさん2009/07/31(金) 04:25:59ID:???
>>557
ほう、ではDBとFSで実装した場合の違いを定量的に示してくれ
0559nobodyさん2009/07/31(金) 04:42:31ID:???
>>558
FSじゃなきゃ出来ない事、FSなら標準で出来る事は多々あるだろう。

 ・DBコネクション等の負荷が無い
 ・当然PHP側のコードもシンプル
 ・SVN等のバージョン管理システムが使える
 ・使い慣れたエディタで直接編集が可能
 ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在
 ・当然複雑な管理画面も不要になる為実装コストは激減

これらはFSなら特別な実装は不要。
君はDBで実装出来るか?

検索したいとか、DBサーバで集中管理したいとか、特別な要件が無い限りテンプレートのDB化はしない。

逆にDBを疑似ファイルシステムとして使うメリットとその実装コストを教えて欲しい。
オープン系CMSを引き合いに出すのであれば、同等の管理画面等を作るコストも入れてくれよな。
0560nobodyさん2009/07/31(金) 05:22:21ID:???
定量的の意味知ってるか?
0561nobodyさん2009/07/31(金) 05:56:21ID:???
定量的って言葉使いたいだけですか?w
>>559 に答えられたら答えてやんよ。
0562nobodyさん2009/07/31(金) 10:54:30ID:???
まぁ、喧嘩するなや。
第三者からみたら、有益な討論してるように感じるんだから。
0563nobodyさん2009/07/31(金) 11:13:51ID:???
>>561
低学歴乙
0564nobodyさん2009/07/31(金) 11:35:24ID:???
>>562
有益かはともかくSmartyの議論ではなさそうだな。
0565nobodyさん2009/07/31(金) 12:20:19ID:???
>>564
Smartyの使い方に関する議論だろ
0566nobodyさん2009/07/31(金) 15:05:22ID:???
smartyってHTMLだけしか知らないデザイナーに読みやすくするためだけの技術だろ
0567nobodyさん2009/07/31(金) 16:10:10ID:???
逆だと思うが。PHPを使えるプログラマー用の技術だろ。
0568nobodyさん2009/07/31(金) 18:56:10ID:???
>>563
答えられない質問には煽る…典型的な厨ですね。

定量的も何も、FSの場合は >>559の 実装コストはほぼゼロ。
DBで作った場合のコストは?低学歴な僕には検討もつきません><おしえてください。
0569nobodyさん2009/07/31(金) 19:46:53ID:???
>>568
俺も低学歴だけど頑張ってみる
XOOPSみたく、ベースはファイルで、そっからDB突っ込む奴で考えてみた


> ・DBコネクション等の負荷が無い
キャッシュファイル使えばテンプレ本体がDBにあっても関係ない

> ・当然PHP側のコードもシンプル
プラグインで済むから同じ

> ・SVN等のバージョン管理システムが使える
ベースのテンプレートをファイルにすれば同じ

> ・使い慣れたエディタで直接編集が可能
コピペすれば一緒かと

> ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在
phpMyAdminは使い慣れたソフトってことで

> ・当然複雑な管理画面も不要になる為実装コストは激減
テキストボックスで十分じゃん

> 同等の管理画面等を作るコストも入れてくれよな。
phpMyAdminで十分


テンプレートがDBに入ってて便利なのは、
出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと
頑張れば携帯でも更新出来るし。。。
0570nobodyさん2009/07/31(金) 19:49:07ID:???
ファイル操作用のPHPコードと
DB操作用のSQLでは、後者の方が自由度高いと思うけどな
0571nobodyさん2009/07/31(金) 20:49:32ID:???
>>568
煽ったのはお前だろカスが
最初に質問したのは俺だが何故答えないの?
0572nobodyさん2009/07/31(金) 20:58:48ID:???
また「全部自分でやるから実行速度は早い」とかえらそうにしてる馬鹿が騒いでるのか
0573nobodyさん2009/07/31(金) 21:21:59ID:???
>>571
「俺だが」ってIDも出していない奴をどうやって判断する?
俺たちはエスパーじゃないぞ?
0574nobodyさん2009/07/31(金) 23:21:12ID:???
>>569
> キャッシュファイル使えばテンプレ本体がDBにあっても関係ない
テンプレート更新確認の為に、DB接続されるよ。

> プラグインで済むから同じ
プラグイン作成、テストの工数がかかるよ。

> ベースのテンプレートをファイルにすれば同じ
一括でコミットしたり、指定リビジョンにロールバックしたい場合とか困るよね。

> コピペすれば一緒かと
エディタで編集→管理画面を開く→コピペ→DBにコミット→確認が、直接編集と同じ手間と?

> phpMyAdminは使い慣れたソフトってことで
ファイルやディレクトリ単位での権限管理はどうするの?
例えば一時的にディレクトリ名を変えてバックアップ取りたい場合とか、運営者にSQLを書かせるの?

> テキストボックスで十分じゃん
見た目上はそうかもしれないが、内部実装は相応のコストがかかると思うよ。
複数ファイル同時に更新しなきゃいけない場合とかもあるしさ。

> phpMyAdminで十分
上に同じ。

> テンプレートがDBに入ってて便利なのは、
> 出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと
> 頑張れば携帯でも更新出来るし。。。
これはDBかFSかは関係無くね?制作者的にはSQL回す方が楽ではあるだろうけど。

>>571
>>568 で答えてるよ。FSならコストゼロ、DB実装なら相応。要件次第。
高学歴の君に、DBで同等の実装をした場合のコストを教えて欲しいな。
0575nobodyさん2009/08/01(土) 01:20:41ID:???
だから、いちいち煽り入れるなって
お前がせっかく書いたレスも陳腐な物になるぞ
0576nobodyさん2009/08/01(土) 23:36:43ID:???
>>571はどこいっちゃったの?
0577nobodyさん2009/08/02(日) 01:41:46ID:???
お前がいい加減にしろ
0578nobodyさん2009/08/02(日) 01:48:38ID:???
>>571はどこいっちゃったの?
0579nobodyさん2009/08/02(日) 03:05:41ID:???
まぁ普通はDBを使うメリットなんて無いって事さ
DB憶えたての頃は俺も無闇にDB化したがったものだ
0580nobodyさん2009/08/03(月) 01:13:56ID:???
じゃ、大手ポータルサイト(ブログとか)って
テンプレートをDBに入れずにファイルで読み書きしてるのかな?
0581nobodyさん2009/08/03(月) 03:29:39ID:???
そんな極少数の大規模案件を例えに出されてもなぁ・・・
使ってるところは使ってるだろう(ハテナとか、スケーラビリティか何かを考慮してDBをファイル置き場に使ってるとか)

要件次第なんじゃない?
それなりの資金と開発期間があり、WEBベースで不特定多数が編集するシステム開発
とかだったらDB化した方が遙かに楽だろう。
0582nobodyさん2009/08/03(月) 09:46:29ID:???
>>581
DB使うメリットないとか言っといて
結局要件しだいかよw
0583nobodyさん2009/08/03(月) 10:57:19ID:???
>>581
つまり、結局は「DB化した方が遥かに楽」なケースが”ある”ということですね
0584nobodyさん2009/08/03(月) 17:52:34ID:???
>>582-583
最初から『意味も無く』FSをDBに置き換えるのがナンセンスと書いてるじゃないかw

揚げ足取りはいいから、具体的なメリットデメリットを提示してくれよ、
大手が使ってるとか、Open系CMSが使ってるからでは話にならん。
0585nobodyさん2009/08/03(月) 18:04:36ID:???
っていうか大手CMSサイトってPHP+Smartyなの?その時点でその話は破綻している。
0586nobodyさん2009/08/03(月) 18:24:53ID:???


どちらも都合のいいように解釈しすぎで、この話はいつまで経っても平行線。
0587nobodyさん2009/08/03(月) 18:59:14ID:???
平行線にすらなっていない。
DB厨がファビョっているだけだ。
0588nobodyさん2009/08/03(月) 20:12:30ID:???
ファビョってるのはむしろお前だろ?1人で戦っているつもりだろうがw
0589nobodyさん2009/08/03(月) 21:44:15ID:???
いちいち煽りに反応しなくていいからw 

とりあえず君のすばらしい経験談と、DB捌きっぷりをこのスレに轟かせれば、
もう少しましな流れになるんじゃないかな?

(^o^)でーたべーす は すごく すごい!・・・なぜなら、すごいから!
(^o^)でーたべーす の すごさがわからないやつは すごくない!
0590nobodyさん2009/08/03(月) 22:23:10ID:???
「要件次第でDB使う」でみんな納得。
丸く納まってよかった。
0591nobodyさん2009/08/03(月) 22:34:30ID:???
以下Smarty3を語るスレになりました。
開発ペース遅すぎるよね。
0592nobodyさん2009/08/04(火) 00:10:08ID:???
htmltemplate.php で十分だしー
0593nobodyさん2009/08/04(火) 00:13:10ID:???
>>590
すまんけどどういう要件ならDB、FSを使うべきかまとめてくれないか?
0594nobodyさん2009/08/04(火) 01:04:56ID:???
>>593
大規模案件ならDB でいいんじゃないか。
0595nobodyさん2009/08/04(火) 01:51:48ID:???
>>593
基本的にはFSじゃないかね。
DBは使う必要があれば使えばいい。
あまり思い浮かばないし、実例も聞かないけどね。
0596nobodyさん2009/08/04(火) 02:01:18ID:???
すまん
結局>>581が結論でいいんじゃないかと言いたかった。
0597nobodyさん2009/08/04(火) 09:05:44ID:???
OK
0598nobodyさん2009/08/04(火) 11:09:38ID:???
>>591
ぜひ参画してくださいよ
0599nobodyさん2009/08/04(火) 11:24:56ID:???
大規模案件にはJAVAという逆説。
0600nobodyさん2009/08/10(月) 18:05:18ID:euq/7Zv+
すみません、質問です
テンプレートファイル内で、{php}〜{/php}って形で、phpのプログラムを実行出来ますが、
この「〜」の部分で、assignされた変数を操作することは出来ないでしょうか

{php}
//ここで{$name}の中身を変更したり、{$name}をキーにして画像を出力する関数を実行したい
{/php}

私の名前は{$name}です

こんな感じで…
よろしくお願いします。
0601nobodyさん2009/08/10(月) 18:19:27ID:???
そのロジックはテンプレートじゃなくて、呼び出し元に書くべきでは・・・

やった事ないけど、Smartyインスタンスをなんらかの形で参照すれば出来るんじゃない?
グローバル変数にするとか、シングルトン使うとか、etc
0602nobodyさん2009/08/10(月) 18:26:43ID:euq/7Zv+
>>601
ありがとうございます、やっぱり呼び出し元でやるべきなんでしょうか?
いまassignされて引き渡されるデータが配列一つなので、それを元にテンプレートでやった方がスマートなんですよね
呼び出し元で各値の条件分岐分やるとassign assign assign…とassignだらけになってしまうので
テンプレ長くする方が問題かなぁ
0603nobodyさん2009/08/10(月) 18:35:23ID:???
>>602
もしかしてこんな感じで解決しない?

if(...) {
$a=1;
} else {
$a=2;
}
$smarty->assign('a',$a);
0604nobodyさん2009/08/10(月) 18:43:35ID:euq/7Zv+
>>603
ありがとうございます、そうですねー、確かにassign段階で書くとそんな感じですよね
決めました。そうします。
テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。
いや、テンプレ変更する時のデメリットの方が大きそうだし。。
アドバイスありがとうございました!
0605nobodyさん2009/08/10(月) 19:16:08ID:???
>>604
条件分岐やるとassignが増えるってどういうこと?
配列をそのまま使えば?
0606nobodyさん2009/08/10(月) 19:21:31ID:???
>テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。
テンプレートとロジックの切り分けは、そのゴチャゴチャを纏める事にあるんだよw

アクションとテンプレ両方で値を編集しちゃうと、
どこでバグが発生したか突き止められなくなっちゃうでせう。
0607nobodyさん2009/08/10(月) 19:38:15ID:???
>>605
例えば、入力任意のファックス番号とかあったとして、必須入力だったら確かにテンプレでは配列そのまま使って
FAX:{$ary.faxNum} で済むけど、必須じゃないんでその前段階のアクションで
if($ary['faxNum'];){$faxNum = $ary['faxNum'];}
else{$faxNum = "-";}
//assign処理
ってやる必要あるじゃないですか。それが嫌だったんですよ。
必須入力じゃない項目の数だけassignしまくらなきゃいけない。めんどくさいなぁと。
そこでphpかsmartyの構文で、テンプレの中で{if}とかしようと思ったんだけど…

でも、確かに>>606の言う通り、あっちこっちにまたがって値を編集しちゃダメですね。
smarty構文はデザインとか見た目(まさにテンプレート)を自動生成するためだけに使わなきゃなぁと
ようやく結論づきました。
0608nobodyさん2009/08/10(月) 20:32:12ID:???
>>607
if(!isset($ary['faxNum'])) ($ary['faxNum'] = "-";

って書いて、$ary変数だけassignすればいいんじゃない?


その程度の表示分岐処理なら、テンプレート側でもOKかと思う。

{$ary.faxNum|default:"-"}

でいけない?
0609nobodyさん2009/08/10(月) 20:50:18ID:???
値未入力であることを示すのに、何を表示するのかはview側の仕様だわな。

ひょっとしたら先々仕様変更で「入ってまへんで、へよへよ」と表示するようになるかもしれん。
そのとき内部データにそんな値(内容)入れたくないだろ?
608の後半みたいにテンプレ側でやった方がいいよ。
0610nobodyさん2009/08/10(月) 22:51:30ID:???
>>608-609
うーん、そうか。
ケースバイケースでどうやるべきかじっくり考えてやってみるね
ありがとう
0611nobodyさん2009/08/10(月) 23:13:31ID:???
度々申し訳ない
{if}--{/if}の中で、smarty変数を生成できないの? assignと同じことをしたいんだけど
{if $var eq "hoge"}
$newVar = "hogeでした";
{/if}
みたいな…
0612nobodyさん2009/08/10(月) 23:15:44ID:???
assignでなんでだめなの?
0613nobodyさん2009/08/10(月) 23:42:39ID:???
>>612
assignはphp側の処理ですよね、テンプレ側で値を割り当てたいので。。
0614nobodyさん2009/08/11(火) 01:09:27ID:???
{assign} タグ使えば?
0615nobodyさん2009/08/11(火) 03:32:24ID:???
>>614
ありがとう! こんなのがあったのか。助かりました!
0616nobodyさん2009/08/11(火) 03:33:31ID:???
assignassign言うから当然テンプレート側のこと言ってると思ったら
assignタグすら知らんかったのか。
0617nobodyさん2009/08/11(火) 12:14:27ID:???
だからphpタグなんぞで処理したかったのか・・・。
0618nobodyさん2009/08/12(水) 05:56:44ID:???
$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が出力されます
0619nobodyさん2009/08/12(水) 06:23:13ID:???
varAryの中を見てみたら?
0620nobodyさん2009/08/12(水) 08:01:33ID:???
ループは回ってる?「名前は:」って文字は出力されてる?

{foreach from=$hogeAry item=varAry}
{foreach from=$varAry item=item key=key}
{$key}={$item}<br>
{/foreach}
{/foreach}

で中身表示テストしてみ。
0621nobodyさん2009/08/12(水) 10:23:00ID: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);
0622nobodyさん2009/08/12(水) 10:32:56ID:???
>>621
Smarty側に正常にassign出来てない可能性大。

1. hogeAryが正常な配列か確認。
var_dump($this->view->hogeAry);

2. hogeAryがSmartyにassignされてるか確認。
0623nobodyさん2009/08/12(水) 11:18:13ID: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だけがうまくいかないってことかなー
0624nobodyさん2009/08/12(水) 11:41:14ID:???
619はシカトですかそうですか
■ このスレッドは過去ログ倉庫に格納されています