5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PHP】Smarty【Template】

1 :nobodyさん:03/03/10 00:57 ID:NhgrjNBT
このスレ、あってもいいんじゃないかと。

本家(英語)
http://smarty.php.net/

日本語マニュアルとか
http://sunset.freespace.jp/smarty/

2 :nobodyさん:03/03/10 01:01 ID:???
前に無かったっけ?
コンテンツとデザインの分離はしばらく物議かもしそうだし
解決策の1つとしてsmartyいいかもね。

ついでに2げっと。

3 : ◆AngelH/kMI :03/03/10 12:35 ID:???
3げとずさー(AA略

最近使い始めたよ>Smarty
使いこなしていると言えるまでにどれだけかかるやら。



4 : ◆AngelH/kMI :03/03/10 12:47 ID:???
メモ代わりに。
自分が引っかかったところ。

青マンモス本の時点ではループ指定(テンプレート側)するときに
{$loopname/variable}
だったのが
{$variable[loopname]}
になってる。
$varibableが連想配列なら
{$variable[loopname].arrayname}
こんな感じ。



5 :nobodyさん:03/03/11 00:06 ID:???
Smartyって、コンパイル(?)してキャッシュを作るみたいですが、
キャッシュを作らずにHTMLを吐き出す方法はないでしょうか?

6 :nobodyさん:03/03/11 17:04 ID:???
ついに作られたかsmartyスレ。歓迎。

7 :nobodyさん:03/03/11 17:06 ID:???
>>5
よくわからんが、コンパイルされたファイルとキャッシュされたファイルは別物だが。

キャッシュを作らずHTMLを作るとはどういうこと?
毎回コンパイルするようにしたいなら、設定変えればできるぞ。

8 :nobodyさん:03/03/11 17:07 ID:???
日本語のマニュアル
http://sunset.freespace.jp/smarty/

↑ここもマジで感謝!!

9 :nobodyさん:03/03/11 17:09 ID:???
有名なところだと、XOOPS2にsmartyが使われています。

XOOPS 日本の公式サイト
http://jp.xoops.org/

10 :nobodyさん:03/03/11 17:25 ID:???
誰かSmarty[スマテイ]の基本的な使い方を解説してくれ。簡単にな。

11 :nobodyさん:03/03/11 17:32 ID:???
>>10
まず、スマテイをスマーティーと発音する。

12 :nobodyさん:03/03/11 17:38 ID:???
日本語サイトにメリットとして

>より明確にphpのプレゼンテーションからアプリケーションの ロジックとコンテンツを分離して管理する事を容易にします。
>これはプログラマーとテンプレートデザイナーの役割が異なる 状況か、
>たいていの場合は同じ人間ではないのが最良だという事です。

こう書いてあったんだけど、つまり役割が同じ場合はこれ用なし?

13 :nobodyさん:03/03/11 17:52 ID:???
>>11
スマーティー  発音わかった。 
誰かSmarty[スマーティー]の基本的な使い方を解説してくれ。簡単にな。

14 :nobodyさん:03/03/11 17:59 ID:???
>>13
まず、スマーティーをスマーティと発音する。

15 :nobodyさん:03/03/11 18:23 ID:???
>>14
スマーティ♪ マギーシローっぽい。

16 :あぼーん:あぼーん
あぼーん

17 : ◆AngelH/kMI :03/03/11 19:17 ID:???
メモ代わりにドキュメント書いてるんだけど
仕事忙しくてなかなか進まず。

すまんのぅ。

18 :nobodyさん:03/03/11 22:07 ID:???
>>13
ダウンロードしてQUICKINSTALLを読むべし!

19 :nobodyさん:03/03/12 01:12 ID:BE9nbHm+
これでフォームに自動的に値入力(Perl&RubyでいうFillInForm)
の機能があったらかなりイイのだが
も前らPHPではフォームに値付けるのどうされてますか?

PHP版HTML::Template
http://sourceforge.net/projects/phphtmltemplate/

20 :あぼーん:あぼーん
あぼーん

21 :nobodyさん:03/03/12 05:18 ID:???
おまえらなんでsmarty使ってる?

22 : ◆AngelH/kMI :03/03/12 08:47 ID:???
>21
自分の場合はデザインとコードの分離のため。
HTMLを書く人間が別にいる場合、分離していないと
かなり面倒なことになる。

そのあたりの議論は
http://pc2.2ch.net/test/read.cgi/php/990953955/
こっちでかなりやっていた気がする。

23 :nobodyさん:03/03/12 11:09 ID:???
かっこよさそうだから。

24 :21:03/03/12 11:35 ID:???
>>22
そうそう、前そこのスレでsmartyスレ立てようって言ってたんだけど
あんまりユーザがいないようだから。
でもXOOPS2でsmarty採用したから使う人が増えるかもね。


25 :nobodyさん:03/03/12 16:12 ID:???
smartyは、テンプレートプログラミングみたいで、
デザイナーは、はたして使えるのか?と思うけど、
つか、HTMLテンプレートのほうが分かり易いのかな?と思ったり、
両方使った事ある人どう思う?

26 :あぼーん:あぼーん
あぼーん

27 :nobodyさん:03/03/12 17:11 ID:???
php自体がテンプレートみたいなもんじゃん。アホらしい。

28 :nobodyさん:03/03/12 17:31 ID:???
暇つぶしにCでCGIを書いてみたんだが、
perl,phpは楽だよな。>>27のいうことも分かる。
問題はデザイナーが単独でphpスクリプトを修正できるかというと
そこまで簡単じゃないってことだな。
プログラマ・デザイナの両方の負担の釣り合いが取れるところがsmartyなんじゃないの?

29 :nobodyさん:03/03/12 18:11 ID:???
>>28
MVCってのがある。

V(View)はMからデータを呼び出すだけで単独では通常計算を行わない。
と言うことになっている。

表示すべき項目を$dataと言うハッシュに詰め込んで、

「データは<? print($data["name"]);?>で表示させられるよ。」

とか言っちゃえば良いと。

デザイナがJavaScript位は出来るだろうと(Web制作の某スレではこれはデザイナの仕事ではないらしい。(藁)仮定すると
PHPの豊富な制御構造くらい使いこなせるだろう。

こうしてみるとその辺の下手なテンプレート機構より遙かに強力でしかも汎用的だ。


JSPと同じ思想でPHPを使っちゃおうというのが俺の言いたいこと。

30 :nobodyさん:03/03/12 21:31 ID:???
Templateの存在意義とか話すのはスレ違いだろ。
折角Smartyのスレたったんだし、Smartyの話しようや。

31 :nobodyさん:03/03/12 23:50 ID:???
Smartyだけは厳しいと。

32 :nobodyさん:03/03/13 00:42 ID:???
HTML::Templateならそのまま>>29の言うMだけ
をPerlやRubyにできるな。
HTML::Templateのがよくないか?

PHPでテンプレート使うの馬鹿らしいんだけど、テンプレート
前提でコーディングしとくと、渡す直前で値をダンプしてみれば
エラーの原因とか何やってるのかがすぐわかるのよ。

33 :nobodyさん:03/03/13 00:50 ID:???
たしかにPHPでテンプレートってどうなんだろう?

34 :nobodyさん:03/03/13 11:02 ID:???
誰かsmartyで携帯対応なサイト作ってる香具師いる?

35 :nobodyさん:03/03/13 11:10 ID:???
>>32
いや、だからVにテンプレートを採用するかPHPの特性を素直に使うかの違いよ。
両者ともデータチェックはMの最後なりCの最後なりでチェックできる。

36 : ◆AngelH/kMI :03/03/13 13:30 ID:???
>34
微妙に。

>35
まあ、そうだねぇ。
結局は好みの問題。
既存のテンプレートエンジンが気に入らなければ
自分で作ってもいいし、
自分にあうのがあればそれを使えばいいだけ。

自分はループのネスト考えるのがだるくて
既存のものを使ってますが(苦笑
WYSIWYGなエディタでも表示崩れないやつが好き。


あとHTML_Template_ITバージョンアップしてるな。


37 :nobodyさん:03/03/13 13:31 ID:???
>>36
>WYSIWYGなエディタでも表示崩れないやつが好き。

ある?php始めてからもっぱらテキストエディタ派になっちゃいましたが。

38 : ◆AngelH/kMI :03/03/13 13:44 ID:???
>37
川里氏/佐藤氏のPHP4テンプレートクラスライブラリ(改)は
割とそのあたり気を使って作られていたよ。
http://www.daiwakantei.co.jp/pc/tmpl2sa.html
Dreamweaverでは平気だった。

Smartyもうまく使えば大丈夫だと思う。
(というか、テンプレートファイルと画像を置く位置かな)

個人的には
http://sunset.freespace.jp/smarty/
ここにスクリーンショットでてるDreamweaverMXの
extensionに期待。


39 :山崎渉:03/03/13 16:56 ID:???
(^^)

40 :nobodyさん:03/03/15 10:11 ID:???
smartyの良さって、デザインとコードの分離もあるけどさ、
コンパイルされたファイルとキャッシュによる表示速度の速度の向上じゃない?

41 :nobodyさん:03/03/15 12:33 ID:???
>>40
>コンパイルされたファイル
結局は1行ごとにインタプリトされると思うよ。

42 :nobodyさん:03/03/15 23:39 ID:X1LKF8i0
話題ないね

43 :nobodyさん:03/03/16 01:17 ID:???
質問だがsmartyを使ってて中にperlのCGIを埋め込むことできる?

つまりブロックで言うとトップとレフトはsmartyのテンプレなんだけど、
真中のコンテンツの部分をperlのCGI(掲示板)を利用したいわけです。

cgiを呼び出せば、内容は表示できそうですが、POSTとかGETした時
内容を渡せるのか?とか難しそうです。

そんなことしてる香具師いる?

44 :nobodyさん:03/03/16 01:27 ID:???
そもそもsmartyはPHP標準?既にインストールされてるの?

45 :nobodyさん:03/03/16 19:59 ID:???
>>44
されてない。
もともとPHP自体がHTMLに埋め込んで使うものだから、
標準インストールする意味はあまり無さそうだと思う。

46 :nobodyさん:03/03/18 15:26 ID:???
smartyで携帯サイト作ってる奴いる?

47 :nobodyさん:03/03/21 05:00 ID:???
>>43
perlのCGI側でHTML::Templateとか使ったほうがラクじゃないの?

48 :nobodyさん:03/03/21 12:19 ID:???
Smarty使えない鯖なんですが
ほかに標準のテンプレート機能ってあるのしょうか?

49 :nobodyさん:03/03/21 14:56 ID:???
>>48
10スレ前の過去ログも読めないのか…

50 :nobodyさん:03/03/21 19:50 ID:02OewLFo
>>48
Smarty使えない鯖ってどんな鯖?

51 :nobodyさん:03/03/21 19:52 ID:???
>>48
>ほかに標準のテンプレート機能ってあるのしょうか?

PHP

52 :nobodyさん:03/03/21 20:08 ID:???
この中に数人テンプレートの意味がわかってない人がいますね。(w

53 :nobodyさん:03/03/21 20:30 ID:???
>>50
PHPが使えないサーバーか、quotaが1MBぐらいのサーバー。

54 :nobodyさん:03/03/21 20:51 ID:???
テンプレートの本質を理解していない>>52

という印象を受けた。


55 :nobodyさん:03/03/21 21:07 ID:???
>>54
本質を聞きたいといってみる。(w

56 :nobodyさん:03/03/21 21:46 ID:???
>>50
WebARENAだがなにか?

57 : ◆AngelH/kMI :03/03/21 23:50 ID:???
んー。
safemodeがonになっていても使えるけど>Smarty
後使えない可能性ってなんだろう。

58 : ◆AngelH/kMI :03/03/21 23:51 ID:???
というか基本的なことだけど。
「使えない」という状態がいったいどういう状態なのかを
言ってくれないと、アドバイスのしようもない。

59 :nobodyさん:03/03/21 23:56 ID:???
>>58
冷静に考えて、エラーメッセージやエラーの分析を怠る奴がモジュールの導入をミスなくこなしている
可能性は低いと思う。

60 :nobodyさん:03/03/23 16:35 ID:GUMN7n0B
使えないのはSmartyじゃなくて、そいつの頭。


61 :nobodyさん:03/03/24 00:18 ID:???
Smartyってつかったことないが、なんかテンプレートというより
別の構文の言語ってかんじに見える。
おれは patTemplateの方が純粋にテンプレートっぽくって好き。
http://www.php-j.com/tutorial/php/template.php

62 : ◆AngelH/kMI :03/03/24 08:18 ID:???
>61
出来ることが多いから自分も最初は
「何となくめんどくせー」
と思って使ってなかったんだけど、
実際に使ってみるとそうでもないよ。
必要ない機能は使わなければいいし。

header、footer、ループ部分を別にするテンプレートは
WYSIWYGなエディタ使えないので個人的にはあまり…
という感じ。

・Smarty
・PHP4 テンプレートクラスライブラリ改(tmpl2.class.php)
・HTML::Template_IT (PEAR)
自分が使ってみて使いやすかったのはこのあたり。
Smartyで注意することはSJISのテンプレートを使うときに
プリフィルタ/ポストフィルタを使って文字エンコードを変えないと
テンプレート内に「宮」とか書かれてるとエラーになってしまうあたり。
ttp://ns1.php.gr.jp/pipermail/php-users/2003-February/013595.html
このあたり参考に。


63 :nobodyさん:03/03/24 16:20 ID:???
Smarty使ってみた感想は多機能なので面倒です。
おまけに、smarty関連のディレクトリでいっぱいになって、
漏れのような小物野郎には大袈裟すぎと気付きました。
大規模システムには使い道があるんだと思うけど、

誰か、気軽に同封できるような、おすすめテンプレート情報もとむ。

64 :nobodyさん:03/03/24 16:21 ID:F52n5d8W
アホで申し訳ないのだが
Smartyの利用条件とかってあるの?

65 :nobodyさん:03/03/24 16:37 ID:???
売るの? 売っちゃダメだよ。

66 :nobodyさん:03/03/24 17:39 ID:???
食べるのはOK?

67 :nobodyさん:03/03/24 17:52 ID:bvsiZdot
Smartyを利用してるアプリで、売られてるものも多数ある。
ライセンスはGNU LGPLなんでそれさえ守っておけばいい。

68 :あぼーん:あぼーん
あぼーん

69 :nobodyさん:03/03/24 17:59 ID:???
Smartyを売っちゃダメだよ。

70 :あぼーん:あぼーん
あぼーん

71 :nobodyさん:03/03/24 19:30 ID:???
>>67,69
ありがとさんすー

72 :nobodyさん:03/03/25 12:43 ID:FOZw8qka
>>69
そうなの?


73 :nobodyさん:03/03/25 14:04 ID:CVcoKJbJ
smarty 使ってみたよ。
マニュアル翻訳された方、ありがとう&お疲れ様。

PHP自体がある程度テンプレート的な使い方が出来るので、
確かに小規模なプロジェクトでは導入コストに較べてメリットは少ないですね。
プラグインとか使って見たいけど、私も使う機会なさそうだな。

ところで、[php] ... [/php] タグの存在に戸惑っています。
テンプレートとロジックを一緒に管理する事ができますッテ…(汗
テンプレートをコンポーネント化するより、
そのテンプレートを呼び出すメソッドを実装して、
その中に初期化など共通する処理を書いた方がいいと思うのだけど…
どうなんでしょう? php とか php_include タグの評判は。
アイデアは確かにいいんですけど、これって別にSmarty使う必要ないですよね?PHPでは。
ロジックの分離という点に置いては、テンプレートには不要だと思う。

PHPにループ用のタグを導入してくれればいいのになぁ…。

74 :nobodyさん:03/03/25 14:30 ID:???
PHPでテンプレートとか言われるとジェネリックプログラミングを想像してよろしくない。

まぁ、形無し言語でそんなもん語っても仕方ないがしかし・・・。

75 :nobodyさん:03/03/25 16:24 ID:FOZw8qka
PHPという文脈でテンプレートと出てきたら、普通はジェネリックプログラミング
なんて浮かばないって。

PHP5の例外処理サポートが楽しみだ。


76 : ◆AngelH/kMI :03/03/25 23:51 ID:???
強行日程な出張から帰還〜

>73
とりあえず、[php]タグは忘れてるよ(笑
デザイナーにも教えてない。
余計なことされて事故って後から自分が修正・・・とか嫌だし。

というか、自分はデザインとの分離さえ出来ればいいから
変数への代入とループさえ出来れば困らないんだけどね・・・。

77 :nobodyさん:03/03/26 00:11 ID:???
>>76
余計なことができるような設計にしてる方が問題な訳だけれどね。

78 :nobodyさん:03/03/26 05:55 ID:Zn78/v4/
>>77
一応、[php]タグは禁止する事もできるようになってる。
http://sunset.freespace.jp/smarty/SmartyManual_2-5-0RC1J_html/variable.security.html

うっかりセキュリティの脆弱を招かないためにも、
できれば$security = true、これ推奨。

Smartyはちょっと多機能になりすぎてる感があるね。
例えば最近、テンプレートからphpのオブジェクトのメソッドやらにアクセス出来る
機能が追加されたりしたけど、ロジックとデザインの分離が目的なのであれば、
本当は必要ないと思う。Smartyで何でもかんでもやろうとしすぎている。
せっかく他のテンプレートエンジンと比べて、キャッシュやカスタム関数による拡張性が
優れてるんだから、あんまり飛躍しすぎてヘンな事になってほしくないなぁ。


79 :nobodyさん:03/03/26 10:58 ID:???
>>78
あんたの言うビューとロジックの分離はロジックにビューのいくつかの処理をやらせると言うことでは?

80 :nobodyさん:03/03/26 16:43 ID:???
>>79
あんたデザインとロジック一人で全部やってるだろ?(w

81 :nobodyさん:03/03/26 17:17 ID:???
>>80
はいはい、勝てないからって話をそらさない。
 

82 :73:03/03/27 07:18 ID:illH7cXT
[php] タグは見なかったことにしよぉ ... *sight*

> できれば$security = true、これ推奨。
THX これ探していました!!
これで安心してSmarty導入出来そうです(感謝)

>テンプレートからphpのオブジェクトのメソッドやらにアクセス出来る
>機能が追加されたりしたけど、
テンプレートに渡すオブジェクトにはgetメソッドしか実装しない/実行できない様にすれば少しは安全になるかも。
例えば、getDateメソッドに日付の表示フォーマットを引数に指定する等、
テンプレート側で指定できるとちょっと便利かな、と思ったりして。
でも、余計な事が出来てしまうリスクが痛いよなぁ。

ちなみに、テンプレートからオブジェクトのメソッドを呼ぶにはどう記述すればいいんでしょうか?
ドキュメントに、プロパティへのアクセス方法は見つけたのだけど…、
versionが古いのかな。見つけられませんでした<2.3.1です
昨日 2.5.0 RC2 リリースされたみたいなので updateしておこぅ〜っと。

>>79
それって、コンポーネント化と逆の発想?それとも、
例えば、「メールアドレスがある場合、名前にリンクを張る」という処理を
処理してからテンプレートに送るのか、テンプレート側で処理するか、って事ですか?

>>79-81
論点が解からない…。77, 78 は、自分には「Smarty本体には、デザインとロジックの分離の利点を損なう実装を許すような
余計な拡張機能は必要ない」という風に聞こえるのですが、何か勘違いしてる?フォローお願いします。

83 :nobodyさん:03/03/29 15:15 ID:CQcFf7wk
73さん

Smartyで開発するときに注意したほうがいいこと(プログラマと
デザイナの取り決めなど)があったらお教え願えませんか?

(当方PHPは一週間の初心者ですが、今後社内のデザイナと
協力して社外向けWebプログラムを開発します)


84 :73:03/03/29 23:32 ID:5Ovapm1S
>>83
当方も、smartyは1週間の初心者です。
どちらかと言うと、教えてもらいたい側の人なのですが、
導入時に考えていた事を叩き台に書き出して見ます。
参考になればいいけど・・・。

まず、注意しないといけない事って、XSS問題とかですよね。
テンプレートに渡す値がエスケープされてるかどうか、
それとも、テンプレート側でエスケープするのか等。
セキュリティの問題の他にサイトのレイアウト崩壊とかも、
XSSで(重要度は違えど)起こり得るので、デザイナの方の理解を得て、
明確にしておいた方がいいとおもう。
セキュリティがデザイナさんの作るテンプレートに依存してしまう状況
というのは、ちょっと怖いので。

それと、情報の隠匿。社内のデザイナということなので、リスクは少ないと思いますが。
でも、不用意にオブジェクトをテンプレートに渡したりて、余計なところにアクセスされたりすると困るかも知れないので。
私も、>>76,>>78 に習って、
”デザイナーには教えない”,”設定で禁止する”と言う方針を見習おうかと思っています。

ところで、grep -E '{.+?}' *.tpl でテンプレート内の埋め込み文全部拾えるかな?
テンプレートの簡単なチェック・スクリプト作っておくと便利かも知れない。
実際の動作テストは、別に用意する必要あるだろうけど。


85 :73:03/03/29 23:34 ID:5Ovapm1S
以下、自己補足。

>>73 コンポーネントで管理すること自体は便利な場合もあるけど、
テンプレート内にコードを含めるのは、自分にとってはリスク。
どうしても必要な場合は、[php]タグより include_php を使お〜っと。
上級ユーザではないので、コードが混ざったテンプレートを保守出来る自信ない;;
それに、テンプレート導入の利点がなくなるし。

> テンプレートからオブジェクトのメソッドを呼ぶ
Document 15. Advanced Features -> Objects 内に見つけましたm(_ _
テンプレートから利用できるプロパティ/メソッドを制限できるみたいなので、
セキュリティ面での心配は杞憂だったみたいです。


86 :あぼーん:あぼーん
あぼーん

87 :nobodyさん:03/03/30 06:50 ID:7nc9kl8w
>>84, 85
ご意見ありがとう。

デザイナーにphpタグを教えると、
「私にプログラム組めっていうのかさぁ」
とか言われそう(^^;
コード保守上も、Simple is Best だと思いますから、
phpタグは使わないようにしたいと思います。
(というか、ふつう最初からphpタグ使おうなんて考えないでしょうね)

「XSS」という言葉が理解できません。教えてください。

それから、Smartyはコンパイル処理があるようですが、
漢字コードが含まれていても大丈夫なのでしょうか?
(SJIS、EUCともOK?)


88 :nobodyさん:03/03/30 10:11 ID:ho1IX9Y5
XSS クロスサイトスクリプティング、かな。

89 :nobodyさん:03/03/30 10:30 ID:???
横からスマソが、俺はCSS以外にXSSっていう書き方もあるって言う事は知らなかった。
クロス=Xなのね。
ひとつおりこうになれたYO
ありがd

       /■\
   ∧_∧ (;´Д` )
    (・ω・)丿 ッパ
.  ノ/  /
  ノ ̄ゝ
いっしょにおにぎりたべませんか?

90 : ◆AngelH/kMI :03/03/30 10:33 ID:???
>>87
>それから、Smartyはコンパイル処理があるようですが、
>漢字コードが含まれていても大丈夫なのでしょうか?
>(SJIS、EUCともOK?)

>>62を参考に

91 :nobodyさん:03/03/31 13:53 ID:D0ex7lz/
>>89
CSSじゃCascading Style Sheetsと紛らわしいからね。


92 :nobodyさん:03/03/31 18:47 ID:???
今度からXSSにしよう。

93 :nobodyさん:03/03/31 18:48 ID:???
ごめんなさい。3つ上を見てなかった。

94 :nobodyさん:03/04/02 04:49 ID:???
漢字コードについては、
SJISの2バイト目に { や } が含まれることがある問題ですよね?
デリミタを、文字コードに依存しない他の文字に変更する。
文字コードに依存する部分は全て別のリソースにする。
等も、別の解決策として選択肢にいれておいてもいいのでわ。

95 :nobodyさん:03/04/03 18:46 ID:???
>>63 誰か、気軽に同封できるような、おすすめテンプレート情報もとむ。
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=top
これわかりやすくていいよ。
DW上でも埋め込めるし。

96 :nobodyさん:03/04/04 04:21 ID:CWbmmlFZ
テンプレートの中で他のテンプレートをインクルード
しています(ヘッダとフッタを入れている)。

すべての画面でデザインを統一しようとすると、どんな
小さな画面でもテンプレートにしてやらないと、ヘッダと
フッタが表示されません。
これでは非常に面倒なのですが、何かよい方法はない
でしょうか?


97 :nobodyさん:03/04/04 11:37 ID:???
>>96
テンプレートをメインスクリプトあたりから直接弄ろうとしているからいちいち面倒なんだよ。
viewクラスを作って、「ヘッダとフッタはいつもの奴、メインボディはこれで」って感じで渡して
やればいいんじゃない。

#説明ベタ&Smartyは使ってないので外しているかもしれんが

98 :nobodyさん:03/04/05 05:35 ID:WWynoIxP
>>97
あそっか。
Smartyクラスをextendsしたクラスをつくって
やればいいわけですね。

たいへん参考になりました。ありがとう!


99 :nobodyさん:03/04/09 02:13 ID:???
/www/index.tpl
/subdomain/index.tpl

とか別ディレクトリに同じ名前のテンプレートがある場合は、
どーすればよいの?

同じSmarty.class.php は使えないのかな?


100 :nobodyさん:03/04/10 15:06 ID:Gsybxm64
>>99
98と同じ回答でいけるよ。

Smartyクラスをextendsした自分のクラスのコンストラクタ
で、各ディレクトリを指定してやればよいと思うが。

101 :あぼーん:あぼーん
あぼーん

102 :nobodyさん:03/04/12 10:21 ID:1gFMXfRc
2.5.0 release age

103 :nobodyさん:03/04/13 03:48 ID:???
>>100
回答ありがとうなのだが、意味がわからんので勉強してきまつ

104 :山崎渉:03/04/17 12:05 ID:???
(^^)

105 :nobodyさん:03/04/20 21:11 ID:PaIMcwUL
同じ テンプレート名は許されないのか???

同じ名前のテンプレートを違うディレクトリに置いて使っていたのだが、
まったく意図しない動きになりびびった。

106 :nobodyさん:03/04/20 21:22 ID:???
>>105
結局どのように対処しましたか?

/public_html/www/index.php
/public_html/sub/index.php
/public_html/info/index.php

などサブドメインを作りたいんですけど、個別にインストールするのも
メンテ性が悪いですし…

107 :105:03/04/20 22:15 ID:???
ttp://smarty.php.net/manual/en/installing.smarty.extended.php
のようにラッパークラスを作ったり、

あとは、いちいち 

$smarty = new Smarty;
$smarty->compile_dir = "/path/to/somewhere";

のようにディレクトリをしていしたりとか。。。

でも、めんどくさい。

ていうか、同じテンプレート名が使えないってのは仕様なんですか?
最初バグかと思ったんですが。

108 :nobodyさん:03/04/23 01:25 ID:???
>>107
ここに書いてあった。

異なるディレクトリに置かれたテンプレートを使用する方法
http://sunset.freespace.jp/smarty/

109 :nobodyさん:03/04/23 01:29 ID:???
>>108
読んでみたがいまいちよくわからんかった。

結局
>display() の引数 compile_id, cache_id を利用する事で可能となる。
この場合のやり方は、どうするの?

>1つのSmartyを複数のプロジェクトで使用する場合は、display( PROJECT_TPL_DIR . 'index.tpl'); とかになるのかな?

??
どういうことなのでしょうか?

110 :nobodyさん:03/04/23 05:14 ID:/AFbvcV5
>>107-109
横からすみません。。。

アプリごとにラッパークラスを作って、その中で
$template_dirを指定すればいいと思いますが、
何か問題があるのですか?


111 :あぼーん:あぼーん
あぼーん

112 :nobodyさん:03/04/23 08:06 ID:???
ようするに人それぞれか?


113 :nobodyさん:03/04/27 07:29 ID:???
>>107-
俺の場合たいていこうしてる

display($template_file, $_SERVER[REQUEST_URI], $_SERVER[REQUEST_URI]);

114 :nobodyさん:03/05/02 19:49 ID:rrWLpWsV
今日からSmartyを触り始めたものです。設定について
ttp://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/
の「基本的なインストール」をみながら設定しました。

上記に沿ってテスト用のファイルを作成して表示してみましたが
下記のようなエラーが出てしまって困っています。
Warning: Smarty error: unable to read template resource: "smarty_test.tpl" in /usr/local/lib/php/Smarty/Smarty.class.php on line 1042

Smarty.class.phpファイルの1042行目あたりは以下のとおりでした。
-------------------------------
function trigger_error($error_msg, $error_type = E_USER_WARNING)
{
trigger_error("Smarty error: $error_msg", $error_type);
}
-------------------------------
何が問題なのでしょうか。

環境:
 RedHat 7.3 Apache 1.3.27
 PHP 4.2.3 multibyte
 PHPlib 7.4-pre1 Smarty 2.5.0 Source


115 :114:03/05/02 19:53 ID:rrWLpWsV
続きです。
設定は以下のようにしました。

Smarty本体は以下のように格納しました。
/usr/local/lib/php/Smarty/Smarty.class.php
/usr/local/lib/php/Smarty/Smarty_Compiler.class.php
/usr/local/lib/php/Smarty/Config_File.class.php
/usr/local/lib/php/Smarty/debug.tpl
/usr/local/lib/php/Smarty/plugins/*.php

webサーバのドキュメントルートに以下のようにフォルダを作成し、chmod 770しました。
/usr/local/apache/htdocs/php/smarty/
/usr/local/apache/htdocs/php/templates/
/usr/local/apache/htdocs/php/templates_c/
/usr/local/apache/htdocs/php/cache/
/usr/local/apache/htdocs/php/configs/

php.iniの設定は下記のとおりです。
include_path = ".:/usr/local/apache/htdocs/phplib/php:/usr/local/lib/php/Smarty/"

ttp://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/installing.smarty.basic.htmlExample
上記のサイトの「2-2. Smartyのインスタンスを作成する」のとおり
テストしてみましたがSmarty.class.php file could not be found という
エラーは出ませんでした。

116 :114:03/05/02 19:54 ID:rrWLpWsV
更に続きです...

テスト用に下記のようにファイルを設定しました。
templatesフォルダ内に「smarty_test.tpl」
----------------
{* Smarty *}
<html><body>
Hello, {$name}!
</body></html>
----------------

smartyフォルダ内に「smarty_test.php」
----------------
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->template_dir = '/usr/local/apahce/htdocs/php/templates/';
$smarty->compile_dir = '/usr/local/apahce/htdocs/php/templates_c/';
$smarty->config_dir = '/usr/local/apahce/htdocs/php/configs/';
$smarty->cache_dir = '/usr/local/apahce/htdocs/php/cache/';
$smarty->assign('name','Ned');
$smarty->display('smarty_test.tpl');
?>
----------------
もー何が何やら( ´д`;)
ナガクテスマソ...

117 :nobodyさん:03/05/03 13:57 ID:???
debug onにしてやってみたら?

多分PATHが間違ってるだけか、パーミッションの問題のような気がするけど。
ファイルのオーナーはどうなってる?
あと、セーフモードはon?off?

118 :114:03/05/03 17:06 ID:ucISI8En
>117 レスThanks!
debug on ってphp.iniの設定でつか?
セーフモードはoffです。
パーミッションとファイルのオーナーは普通に
アップロードダウンロードできるんで問題なさそうな気がしますが
そういう問題じゃないでしょうか?

エラーの内容がSmarty.class.phpが違ってるって事だったんですが
やっぱりパスのせいなんでしょうか?
パス違ってたら最初から読み込めないんじゃないかと思ったんですがいかがでしょう?

119 :あぼーん:あぼーん
あぼーん

120 :nobodyさん:03/05/04 12:42 ID:???
>>118
debug onはSmartyの。今はあんま関係ないかも。

パーミッションは、UL,DL関係ない。
apacheがtemplates_c とか cache に書き込めるかが重要。 だけど、これも違うエラーがでるから関係ないかな。

Warning: Smarty error: unable to read template resource: "smarty_test.tpl" in /usr/local/lib/php/Smarty/Smarty.class.php on line 1042
をそのまま訳すとテンプレートのリソースが読めん!!ってことだから、

templates/smarty_test.tpl が読めないんでしょ?

だから、smarty_test.tpl のパーミッションか、
その上位ディレクトリのバーミッションじゃない?

121 :114:03/05/04 21:05 ID:PMPOUjrA
> 118 レスThanks!!

> templates/smarty_test.tpl が読めないんでしょ?

なるほど!Smarty.class.phpが違ってるって事じゃないんですな。

> だから、smarty_test.tpl のパーミッションか、
> その上位ディレクトリのバーミッションじゃない?

templates/ あたりは全部115に書いたとおり770にしました。
青マンモス本には700に書いてあったんで、そっちも試したけど同じでした。

問題はsmarty_test.tplファイルのパーミッション。
このファイルは、WindowsXPで作成して、FFFTPで該当ディレクトリにアップしました。

その後は、そのままで全くいじってないんだけど、このままだと
もしかして書き込みができないから駄目とか??
.tplファイルはアップロードしたら権限を修正するべき物でしょうか?

122 :あぼーん:あぼーん
あぼーん

123 :nobodyさん:03/05/05 01:21 ID:???
>>121
パーミッションを全部書いてみ。

templates_c は777でないと動かない時があるって、QUICKINSTALLかなにかに
書いてあったの読んだ?

templates_c,cache のファイルオーナーが、Webサーバと同じにならないなら、
777でないとダメじゃなかったっけ?

わからんのなら、全部777にしてみろ。

124 :114:03/05/06 10:47 ID:aSOV5r0L
>123 ありがとうございます。

templates_c は777でないと動かない時があるって言うのは知りませんでした。
とりあえず、全部777にしてみました。実行結果は同じエラーでした。
パーミッションとディレクトリ構成はこんな感じです。

/usr/local/apache/htdocs
--Webファイルをおくディレクトリでユーザとオーナーはwwwです。

この中にphpというディレクトリがありパーミッションは以下のとおりです。
/usr/local/apache/htdocs/php
drwxrwxrwx 7 www www 4096 5月 2 19:35 php

このphpフォルダ内に、smarty用のディレクトリを入れ777にしました。
drwxrwxrwx 2 www www 4096 5月 2 17:53 cache
drwxrwxrwx 2 www www 4096 5月 2 19:19 configs
drwxrwxrwx 2 www www 4096 5月 2 18:16 smarty
drwxrwxrwx 2 www www 4096 5月 2 19:18 templates
drwxrwxrwx 2 www www 4096 5月 2 17:53 templates_c

テンプレートディレクトリ内に下記ファイルがあります。
-rwxrwxrwx 1 www-data www-data 56 5月 2 19:24 smarty_test.tpl

もしかして、これらのディレクトリはWEBファイルを置くディレクトリ
直下に置かないとダメなんでしょうか?それとも、WEBファイルを置くディレクトリの
外に置くべきものだったりしますか?ここ読んでるんですが↓
http://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/installing.smarty.basic.html
青マンモス本と書いてある事が微妙に違っていて、よくわからなくなってしまいました。。。
とりあえず、全部削除してもう一度始めから設定しなおしてみます。


125 :あぼーん:あぼーん
あぼーん

126 :あぼーん:あぼーん
あぼーん

127 :114:03/05/06 16:37 ID:aSOV5r0L
とりあえず、下記のようにすることでできるようになりました。
ありがとうございました。

アプリケーション用のSmartyのディレクトリをドキュメントルートの外に作成。
 templates/ templates_c/ configs/ cache/
cache/ templates_c/にwebサーバのオーナとユーザに設定し、
cache も templates_c も777で設定。

これで、下記の拡張セットアップまでできました。
http://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/index.html



128 :114:03/05/06 16:39 ID:aSOV5r0L
しかし >>127 のような構成になっていると、templates/が、ドキュメントルートの
外なので tplファイルがWindows側からアップロードできません。

マニュアルによれば、「セキュリティの心配を避けるためにドキュメントルート外に
これらのディレクトリを配置する事が推奨されます。」とあるので
ドキュメントルートの中においてもセキュリティ面を除けば問題ないんじゃないか
と考えて、再度ドキュメントルート内に設定してみました。

ドキュメントルート内のSmarty用のディレクトリと、ファイル全てを
パーミッションを777、webサーバのオーナとユーザに設定しましたが
やはり >>114 のようなエラーが出てしまいます。

Warning: Smarty error: problem writing temporary file '/usr/local/apache/htdocs/smarty/php/cache//%%306/%%30660664/3eb76264e8132' in /usr/local/lib/php/Smarty/Smarty.class.php on line 1042
Hello, Ned!

ドキュメントルート内に置くのは不可なのでしょうか?
他の方はtplファイルのアップロードはどうなさっているのでしょうか?
Webサーバで直接書いてらっしゃるのでしょうか?
何度もスミマセン。

129 :nobodyさん:03/05/06 18:19 ID:6G0ArJzR
>>128
ドキュメントルートより1つ上の階層にファイルを
アップロードできないってのがなんか違うな。


130 :nobodyさん:03/05/06 19:48 ID:???
>>128
なんでアップできないかがよくわからんな。
そんなことありえないと思うが、どのようにできないわけ?

で、そのエラーはやっぱりパーミッションの問題だ。
templates_c 以下にできるファイルのオーナーが違うでしょ?

131 :114:03/05/07 11:05 ID:ejEp7kPZ
>129サン >130サン レスアリガd

> で、そのエラーはやっぱりパーミッションの問題だ。
> templates_c 以下にできるファイルのオーナーが違うでしょ?

おっしゃるとおり、オーナー違ったし書き込み権限もなかった(´・ω・`)
ここの拡張セットアップ↓を使わなければうまくいくようになりました!
http://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/installing.smarty.extended.html

ドキュメントルートより1つ上の階層にファイルをアップロードできないって変ですか?
/usr/local/apache/htdocsここの一つ上だから
/usr/local/apacheここがFTPした時に見えないってことですけど。

FTPの設定を変えたら見えるようになると思いますが、それって危険ではないかな?
そういうことじゃないでしょうか??あれれ?

132 : ◆AngelH/kMI :03/05/07 13:30 ID:???
>>131
というか、そのあたりのファイルはユーザ別に作って
そのユーザのディレクトリに入れた方がいいのでは・・・。

ドキュメントルート
/home/username/www

Smartyのコンパイルディレクトリ
/home/username/lib/templates_c

自分ならこんな感じ。


133 :114:03/05/07 15:32 ID:ejEp7kPZ
>131san ありがとー!

なるほど。ユーザディレクトリ使えばできますね。
それでやってみます!

みなさん、長いことお付き合いいただきありがとうございました!
おかげさまで無事設定できそうで、大感謝です!

134 :あぼーん:あぼーん
あぼーん

135 :nobodyさん:03/05/08 10:29 ID:???
>>133
もし感謝してるなら、自分が色々わかるようになった時、他にわからない人がいたら
やさしく教えてあげるようにしてねー。

136 :114:03/05/08 13:03 ID:???
>135
オオー!素敵なコメントありがとう!
もちろん、絶対恩返しします!

137 :nobodyさん:03/05/15 22:03 ID:???
>>135
ほんとうに素敵なコメントだ。
きみ、人間としてすばらしいよ。
心が洗われた。

138 :135:03/05/16 10:49 ID:???
>>136-137
そのコメントは僕の考えたコメントじゃないんですけどね…
僕も今まで色々質問ばかりしてきて、たくさんの親切な人にいっぱい教えて
もらいました。その時言われたのが>>135のような言葉です。

多分UNIX系の方々の考え方だと思いますが、僕もその考えに賛同して、
その恩を他の困っている人に返しています。

UNIX板など行くと商業サポートかと思うくらい、質問に答えてばかりの人が
いますが、多分その方も誰かから色々教わったたり、フリーソフトウェア、
オープンソフトウェアの恩を返しているんだろうなぁと思います。

#smartyというこんなに労力のかかっているソフトを無料で配布している
作者さんに対しても恩を返していることになるのかなぁ…

139 :nobodyさん:03/05/21 19:08 ID:p8eRICbY
ちょっと質問です。
ひとつの変数を使いまわして、新たな値を入れたい時は、
毎回clear_assign()使った方がいいんでしょうか?
使わなくても動いてるみたいだけど。。。

140 :あぼーん:あぼーん
あぼーん

141 :139:03/05/21 19:13 ID:p8eRICbY
も一つ質問です。
Smartyって、if とか loop が使えるじゃないですか。
これってとても便利なんですが、デザイナーさんもこういうのをある程度は
理解しないといけないですよね。

そうするとデザインとロジックの分離からちょっとずれてしまう気がするんですが
実際デザイナさんと作成されている方はこの辺どうされてるんでしょうか?

142 : ◆AngelH/kMI :03/05/21 20:46 ID:???
>>141
if文は使ってないなぁ。
loopは使えないとお互い不幸になりそうなので使ってます。

・とりあえずloopとか変数とか無しでデザイン作ってもらう
・その後、自分がloop箇所や変数箇所を追記・修正
・デザインや文章に変更が生じた場合、命令部を破壊しないように変えてもらう

自分はこんな感じでやってるよ。

143 :山崎渉:03/05/22 01:57 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

144 :139:03/05/22 10:34 ID:???
>142 san
ありがとうございます。
デザインが先で、あとは {...} が付いている所はさわらないで
もらうって感じですね。

if 文使ってないというのは、例えば、状況によって画面の表示を変えたい時
どのようにされてるんでしょうか?権限によって画面を変えたいときとか。

145 : ◆AngelH/kMI :03/05/22 11:50 ID:???
>>144
>権限によって画面を変えたいときとか。
ファイルそのものをわけちゃう。
Dreamweaver等でデザインファイル(html)をみるときもその方が
見やすいと思うのだけどどうだろう。

このあたりは人によって開発手法違うだろうから
他の人の意見も聞きたいなぁ。

146 :nobodyさん:03/05/22 19:56 ID:???
サブディレクトリ、またはサブドメインごとに軽くデザインを変えるようなシステムを
みなさんはどのように作っていらっしゃいますか?

自分も今作っているのですが、設定ファイルがあちこち行ってしまって複雑になってしまい
ました。
title,descriptionなどを入れた、configs/sub.conf
サブごとのラッパークラス includes/sub.lib.php
そして、各phpファイル www/sub/index.php

みなさんはどのようにやっているんですかねぇ?

147 :あぼーん:あぼーん
あぼーん

148 :あぼーん:あぼーん
あぼーん

149 :北村貴母緒:03/05/23 15:18 ID:7vDvDVhJ
【お悩み相談】こちらを見てください。何でも書いてね!
皆さんの日ごろの不満を書いてね!
【2003年 クーポン屋】努力しない人は0円になります。
努力した人は年商3574万円!貴方は参加しますか?
私なら、参加します。
http://www.c-gmf.com/index1.htm
「クーポン屋」「アクセスが1日2000人ほどある人なら、1ヶ月274万円ほど
稼げるビジネスであります。」1日110円で宣伝できるサイトであります。
契約者は年間広告費:40,000円を当社に振込んでいただければ、OKであり
ます。そこで、紹介者として,貴方様専用のCGIフォームを用意しますので、
料金回収無し、ノルマ無し、HPにバナーを貼ればOKであります。パートナー
様の目標は1ヶ月300件ほど契約を成立していただければ,貴方様の口座に
274万円を振込しますので、頑張って営業をしてください。どんな人でも稼げ
ますので、1度でも良いので見てくださいね。
http://www.c-gmf.com/index1.htm

150 :山崎渉:03/05/28 17:07 ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

151 :nobodyさん:03/05/31 13:59 ID:???
>>146

スクリプトファイルとテンプレートファイルを同じディレクトリに置いて管理してます。結局これが自然な気がします。ヘッダやフッタのような共通ファイルは別場所でまとめて管理。
PEAR を継承してテンプレート制御用のクラスを作りその中で Smarty を初期化してます。
この中で例えば $obj->smarty->display() のような関数に対して $obj->display() のようなラッパーを作り、そこで template_dir や compile_id の制御を行います。
でそのクラスをさらに extends して特定ブロックごとに合わせています。
実行はこんな感じ。
$tpl = new TemplateAreaName;
/* .. snip.. ここで処理&変数のアサインを行う */
// レンダリング
$tpl->showHeader();
$tpl->showMenu();
$tpl->display('index.tpl');
$tpl->showFooter();

152 :nobodyさん:03/05/31 19:10 ID:???
>>151
>スクリプトファイルとテンプレートファイルを同じディレクトリに置いて管理してます。

なるほど。確かに更新するとき、両方のディレクトリを行き来したりする必要はなくなりますね。
これだと、テンプレートファイルも外から見えますよね?
問題ないんですかね。


153 :nobodyさん:03/05/31 20:19 ID:???
>>152
う〜ん、、どうなんでしょう。今回 Smarty を初採用し、アプリケーションの完成度も 40% というところなので正直手探りでやっています。
もっと良い方法があればいいのですが。

ご指摘の危険性は考えましたが元々テンプレートをさくさく差し替えれるようにテンプレートには極力情報を埋め込まないようにしており、
テンプレートへの直接のアクセスも拡張子によるアクセス制限で回避出来ると思ってこの方法でやっています。

154 :nobodyさん:03/06/01 12:57 ID:???
>>152
もう一つ思い出しました。
テンプレートの先頭にスクリプトを埋め込むか、テンプレートをPHPとして認識させて define などを使ってダイレクトアクセスを防ぐ手段も考えられます。
PHPBB のライブラリとかこういうやり方だったような。

155 :nobodyさん:03/06/07 06:42 ID:dfQas5D8
Smarty 2.5.0 を、PHPのsafe_mode="On"で実行すると、warningが出るのですが、
これは私だけ?
確か、Smartyクラスモジュールの2691行目だったと思います。


156 : ◆AngelH/kMI :03/06/07 09:08 ID:???
>>155
$smarty->use_sub_dirs = false;
で回避できない?

意味はマニュアル参照。

157 :nobodyさん:03/06/10 07:06 ID:Fwh1UjxU
>>156
$smarty->use_sub_dirs = false;
やってますが、それでもwarning出てしまします。
ほかに思い当たる情報があればお願いします。

158 :あぼーん:あぼーん
あぼーん

159 :あぼーん:あぼーん
あぼーん

160 :あぼーん:あぼーん
あぼーん

161 : ◆AngelH/kMI :03/06/10 17:19 ID:???
>>157
というかそのwarningの内容出してくれないと何とも。
cacheディレクトリとtemplates_cディレクトリに
書き込み権限与えてる?

162 :nobodyさん:03/06/12 18:20 ID:???
smartyで他のサイトのXOOPSのRSSを表示しようとしています。

googleで調べて、magpieというのがあったので、それを使おうとしています。
が、日本語が文字化けしてしまうので、変換させたいのですが、どこでどう変換させれば
いいのかがわかりませんでした。

以下が、smarty用サンプルコードをいじったものです。

$url = $_GET['rss_url'];
if ( $url ) {
// assign a variable to smarty for use in the template
$smarty->assign('rss_url', $url);
$rss = fetch_rss( $url );
// if fetch_rss returned false, we encountered an error
if ( !$rss ) {
$smarty->assign( 'error', magpie_error() );
}
//ここは文字化け対策成功
$rss->channel['title'] = mb_convert_encoding($rss->channel['title'], "EUC", "auto");

foreach ($rss->items as $item) {
//ここでどのような変数に代入すれば良いのでしょうか?
$title = mb_convert_encoding($item['title'], "EUC", "auto");
}

$smarty->assign('rss', $rss );
$item = $rss->items[0];

$date = parse_w3cdtf( $item['dc']['date'] );
$smarty->assign( 'date', $date );
}


163 :nobodyさん:03/06/13 04:36 ID:???
自己レス

foreach ($rss->items as $key=>$item) {
$rss->items["$key"]['title'] = mb_convert_encoding($item['title'], "EUC", "auto");
}

でOK。

164 :nobodyさん:03/06/20 01:36 ID:22HNzffu
mb関数使えない鯖で半角カタカナ全角にできるの?

165 :nobodyさん:03/06/20 10:35 ID:???
>>164
できるよ

166 :nobodyさん:03/06/22 01:38 ID:9+GBIMXB
>>165
どーやんの?


167 :nobodyさん:03/06/22 08:43 ID:???
>>166
http://www.spencernetwork.org/

168 :nobodyさん:03/06/28 01:23 ID:M0QDMJtS
>>167
わかんねー

169 :あぼーん:あぼーん
あぼーん

170 :あぼーん:あぼーん
あぼーん

171 :あぼーん:あぼーん
あぼーん

172 :あぼーん:あぼーん
あぼーん

173 :あぼーん:あぼーん
あぼーん

174 :あぼーん:あぼーん
あぼーん

175 :あぼーん:あぼーん
あぼーん

176 :nobodyさん:03/07/12 19:16 ID:P6mY9BCG
age

177 :nobodyさん:03/07/13 01:15 ID:iGC1lgy5
Smartyってどれくらい普及してんだ?
使われているサイト知ってる?

178 :nobodyさん:03/07/13 13:49 ID:???
>>177
自分の個人サイトだったら、ほぼ全部のページで使ってますが・・・

179 :nobodyさん:03/07/13 14:05 ID:Qv0LVgul
PHPから別ウィンドウを立ち上げる事ってできるんでしょうか?
例えば、エラーチェックを行って、エラーに引っかかると
別ウィンドウでエラー内容を表示する、等
require もしくは header 関数を利用して。
もしくはそれ以外の関数、コーディングで。
Ncurses関数は客の鯖問題でPHPをリコンパイルできません。。

180 :あぼーん:あぼーん
あぼーん

181 :nobodyさん:03/07/13 14:14 ID:48FuQ70+
>>179
今手元にないから分からないけど、
"Professional PHP プログラミング"に、それらしい例がのっていたような。

182 :nobodyさん:03/07/13 14:17 ID:Qv0LVgul
>>181 さん
早速ありがとうです。
調べてみます


183 :nobodyさん:03/07/13 15:19 ID:???
http://pc2.2ch.net/test/read.cgi/php/1057947512/12
smartyと関係ない上にマルチポスト

184 :nobodyさん:03/07/13 16:23 ID:???
MLにもポストしてたような?
できるの?コレ?

185 :山崎 渉:03/07/15 11:07 ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

186 :nobodyさん:03/07/15 17:55 ID:wTgTaT8B
おお、久々にWebProg板に来たらSmartyのスレが。
コンテンツとデザイン〜の1です。

>>177
一応は本家公認のテンプレートエンジンって扱い(ですよね?)なので、海の向こうでの
使用頻度は高いんじゃないかと思います。xoopsに採用という実績もありますし。
国内でも自分みたいな糞田舎の情報システム部ですら2年前から使ってるので、それなりに
普及していると思いますよ。googleでも随分引っかかるようになってきましたね。

187 :nobodyさん:03/07/16 00:47 ID:???
DBからデータ持ってきてappendしてページ作ってる場合、
APCとかZendOptimizerとか使える?

188 :nobodyさん:03/07/21 14:35 ID:???
Smarty 使ってると何故かソースコードの記述が勝手にアサインされてるような、、
全く assign していない PEAR::raiseError のようなエラー処理の記述や print 文で勝手にエラー吐いてくれまつ。



…… Smarty のコードまで潜って 1h ほど戦って気付いた。
$tpl->display('hoge.php');
拡張子が .tpl ぢゃなくて .php で別ファイル指定してた。鬱だ氏のう _| ̄|◯

189 : ◆AngelH/kMI :03/07/22 08:14 ID:???
>>187
別に問題ないかと。
APC1の頃は大丈夫だったし
現在はmmcache使ってるけど大丈夫だよ〜。

190 :nobodyさん:03/07/22 15:11 ID:???
素朴な疑問。
appendとassignって何が違うんでしょう?

191 :nobodyさん:03/07/22 17:16 ID:???
>>189
サンクス。やってみまつ。

>>190
assginは代入、みたいな。
appendはarray_push()、みたいな。

192 :nobodyさん:03/07/28 23:09 ID:Qst4s2Al
Smartyって、ページ全体のキャッシュじゃなく、
ページの一部分だけキャッシュのすることってできないですか?

自分、いわゆる「ぱんくず(※)」をキャッシュにしたいんですよね・・・

※トップページから現在のぺージまでの道筋を表したもの。
例)Yahoo!とかだと

ホーム > コンピュータとインターネット > ソフトウェア > インターネット > WWW > ブラウザ

っていうあれね。

193 :nobodyさん:03/07/28 23:36 ID:zAmscCpE
最高画質が揃った最高のサイトオープン!?
http://www3.free-city.net/home/espresso/white-snow.html


194 :nobodyさん:03/07/29 17:31 ID:aKRM8GxJ
>>192
insertを使えば出来る。
http://sunset.freespace.jp/smarty/SmartyManual_2-5-0J_html/language.function.insert.html

カスタムプラグインでテンプレート内に{breadcrumb 現在の位置="hoge"}ってかくと
自動でずらっとパンくず表示してくれるの作ったけど便利だよ。
他のサイトにも再利用できるし。


195 :nobodyさん:03/08/01 14:03 ID:???
テンプレートのデザインをいじる人にIBMホームページビルダーを
使わせたいんですが、Smartyタグのデリミタは何が無難でしょうか。

ページ内にCSSを書くこともあるのでデフォルトの { } は使わせたく
ないし、XOOPS2 なんかで定義されている <{ ]> でもいいかなと
思ったけど、< なんかに自動的に置換されてしまわないかと心配
です。それに、modifierのパラメータを " で囲むと " に置換
されるもよう。


196 :山崎 渉:03/08/02 02:23 ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

197 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:51 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

198 :nobodyさん:03/08/09 06:43 ID:ZOEKZBoK
さがりすぎage

199 :_:03/08/09 07:46 ID:???
http://homepage.mac.com/hiroyuki45/

200 :nobodyさん:03/08/09 07:56 ID:0dlTg+8l
おまいら。

http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=htmltemplate

を氏蘭のか?

201 :_:03/08/09 08:07 ID:???
http://homepage.mac.com/hiroyuki45/hankaku10.html

202 :nobodyさん:03/08/09 15:33 ID:ZOEKZBoK
>>200
せめてキャッシュを実装してほしい。(中間ファイルでないよ)
タグが拡張できるようにしてほしい。
ちゃんとエラーハンドリングしてほしい。

このあたりを実装してくれれは少しは考えるが、
まだ今のところはSmartyのほうが使い勝手はいいな。


203 :nobodyさん:03/08/09 19:07 ID:stysPTCZ
パート2もやっぱり3人で責めちゃうんですね。
大きくて形のいいオッパイを持っているだけあってやはり騎上位が得意なようです。
オマンコに吸い込まれていくチンチンもいいですけどオッパイの揺れ具合がなんともいえませんな。
http://www.exciteroom.com/


204 : ◆AngelH/kMI :03/08/12 12:14 ID:???
Smarty2.6.0RC1 リリース。
とりあえず変更点確認中。
結構色々変わってるかな?

205 :nobodyさん:03/08/12 13:45 ID:7lLuw4V/
RCなのに色々変わっているってのもアレだな。
いや、中身は見てないが。


206 :nobodyさん:03/08/13 10:54 ID:???
>>205
2.5.0 -> 2.6.0RC1だから変更点は多いと思うぞ?

207 :nobodyさん:03/08/13 11:24 ID:+vOr/IO1
>>206
普通、Release Candidate版って問題がなければそのままリリース版に
するものだから、仕様変更はその前の時点で落ち着いていて欲しいな。
その辺、PHPらしいと言えばらしいけど。

208 :nobodyさん:03/08/13 21:01 ID:???
RC -> Release の間は仕様を変えないのが普通だけど
旧ver Release -> 新ver RC は仕様が変わっててあたりまえじゃないか?

209 :nobodyさん:03/08/14 12:09 ID:Ayxn98z4
>>208
それもそうだ。
新ver RCと旧ver Releaseの間に新ver betaに相当するもの(CVS head)が
あったと考えれば問題ないな。スマソ。

210 :山崎 渉:03/08/15 22:32 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

211 :nobodyさん:03/08/16 17:32 ID:???
php側で、ログファイルから、1行1行読み出して、
それを配列にいれます。
その配列を1こずつ、ループさせて、テンプレートで
書き出すにはどうしたらいいんでしょうか。
勘で、

index.php
for($i=0; $buf=gets($fp, 8000); $i++)
{
    $msg[$i]=$buf;
    $smarty->assign('msg',array("$i"=>$buf));
}

出力側

{section name=msg_id loop=$msg}
    msg: {$msg[msg_id]}<br>
{/section}


とかやってみたんですが、うまくいかないです。
誰か教えてください。

212 :nobodyさん:03/08/16 17:45 ID:???
補足ですが、
$fpの中には、ログファイルが入ってます。

213 :nobodyさん:03/08/16 18:04 ID:???
appendつかったらできたー
(^○^)

58 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)