トップページphp
983コメント287KB

【Smarty】PHPのテンプレートエンジン【Flexy】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/06/15(水) 10:35:52ID:???
---
PHPのテンプレートエンジンを語るスレです。

Smarty:本家(英語)
http://smarty.php.net/
Smarty:日本語マニュアルとか
http://sunset.freespace.jp/smarty/

pear の HTML_Template たち
http://pear.php.net/package/HTML_Template_Flexy
http://pear.php.net/package/HTML_Template_IT
http://pear.php.net/package/HTML_Template_Sigma
http://pear.php.net/package/HTML_Template_Xipe
http://pear.php.net/package/HTML_Template_PHPLIB

patTemplate
http://www.php-tools.de/
http://www.php-j.com/tutorial/php/template.php

前スレ(現在dat落ち)【PHP】Smarty【Template】
http://pc8.2ch.net/test/read.cgi/php/1047225437/
0002nobodyさん2005/06/15(水) 10:55:27ID:???
>>1野郎

待ってたよ
0003nobodyさん2005/06/15(水) 20:42:41ID:???
1000get
0004前スレ9842005/06/15(水) 22:16:41ID:???
http://pc8.2ch.net/test/read.cgi/php/1047225437/984
前スレッドの質問なんですが分かる人がいましたら、よろしくお願いします。
0005nobodyさん2005/06/16(木) 01:43:00ID:???
たてやがった
0006nobodyさん2005/06/20(月) 19:46:15ID:???
2.6.9使ってるんですkどhtml_imageってhttps://から始まる絶対パスの画像名を与えるとエラー出しますよね
0007nobodyさん2005/06/23(木) 10:42:54ID:???
それは絶対パスではないと思うのだが。

fileとbasedirをちゃんと設定してみてください。
0008nobodyさん2005/06/24(金) 23:10:25ID:pYTM6kF2
smartyを使って作ったものを有料で配布してもいいんですか?
0009nobodyさん2005/06/24(金) 23:26:06ID:???
>>8
この辺に書いてあるかな。
ttp://smarty.incutio.com/?page=SmartyFrequentlyAskedQuestions#other-1
0010nobodyさん2005/06/25(土) 00:10:27ID:???
販売は可能ということでいいんですか?
ということは、例えば掲示板を作ったとして
書き込むのにお金を取るみたいなことも可能ですか?
0011nobodyさん2005/06/25(土) 01:08:43ID:???
mojavi+flexy のばあい、どこにtemplate保存してる?
モジュール毎か?
0012nobodyさん2005/06/25(土) 05:02:31ID:???
>>1
Smarty専用スレにしなかったことを
褒めてつかわす。
0013nobodyさん2005/06/26(日) 06:20:15ID:???
でも盛り上がってねーじゃん
0014nobodyさん2005/06/26(日) 10:48:47ID:???
>>13
お前が盛り上げろ。
0015nobodyさん2005/06/26(日) 11:39:53ID:???
時代はフレームワークへと移行。
0016nobodyさん2005/06/26(日) 13:16:50ID:???
複数のサブテンプレートを中に入れたテンプレートを
スマーチィで実現させる場合、
capture関数を使うみたいだけど、
スマーチィ内で使用する変数名が、各テンプレートでバッティングしないように
気を遣わなくちゃいけないよね?
なんか面倒くない?
0017nobodyさん2005/06/26(日) 13:17:48ID:???
スマーチィ内で使用する変数名→テンプレート内で使用する変数名
だった
0018nobodyさん2005/06/26(日) 13:19:16ID:???
つかsmartyクラスにfetchがあるじゃん
何だこれ使えばいいじゃん
馬鹿だ俺テヘヘ
ウヘラウヘラ
0019132005/06/26(日) 13:20:03ID:???
こんな感じに盛り上げていくから
よろしくメカドック
0020nobodyさん2005/06/26(日) 21:05:01ID:???
>>15
フレームワークというのはあくまで骨組みであって
その中ではテンプレートエンジン使うだろ。
0021nobodyさん2005/06/26(日) 22:56:02ID:???
うむ。
0022nobodyさん2005/06/26(日) 23:11:14ID:???
>>20
話題の中心がってことだ
0023nobodyさん2005/06/27(月) 03:54:06ID:???
中心や辺境など存在しない
0024nobodyさん2005/06/27(月) 08:51:48ID:???
そろそろSmartyネタも尽きたってこったな
0025nobodyさん2005/06/29(水) 02:14:48ID:???
Smarty と Flexy
両方使ったことある人どっちがおすすめですか?
0026nobodyさん2005/06/29(水) 03:53:03ID:???
最強テンプレートエンジンはSigma
0027nobodyさん2005/07/07(木) 11:54:00ID:???
Sigmaは遅いんじゃなかったっけ
0028nobodyさん2005/07/07(木) 14:53:10ID:???
中間言語にしてるから遅いと伝え聞いた。
関係ないけどSmarty他のファイルベースのキャッシュってどうなんだろ?
UNIXって同じディレクトリにファイルが何千もあると遅くなるって
聞いたことがあるし
inode使いまくりだから抵抗がある。
特にコンテンツ構成が変わる動的生成のページだったらキャッシュが山ほど増えそうだし。
SQLiteでやればいいんじゃないかなぁと思ってるんだけど。
DBクラス等でSQLiteをキャッシュに使ってる人いない?
0029nobodyさん2005/07/07(木) 15:27:32ID:???
>>28
inodeの実装によるような。

ディレクトリを線的探索する場合はファイル数に比例して
パフォーマンスは落ちるだろうけど、数千程度で実感する
パフォーマンスの低下は起きないんでないかな?

10年程前のLinuxのカーネルは確か1つのディレクトリに確保できる
ファイル数が限られるという制約があったと思うけど今はそんなこと
ないはずだし。

> SQLiteでやればいいんじゃないかなぁと思ってるんだけど。 

それは本末転倒ではないか?素直にディレクトリ走査した方が早い気がする。
0030nobodyさん2005/07/07(木) 15:39:47ID:???
お二方ともコンパイルキャッシュと出力キャッシュがごっちゃになってる悪寒。
0031nobodyさん2005/07/07(木) 16:17:13ID:???
いやコンパイルキャッシュは問題ないでしょ、
1テンプレート1キャッシュだし
0032nobodyさん2005/07/08(金) 01:18:12ID:???
>>31
いや、>28はごっちゃになってる発言に読めるんだが。
0033nobodyさん2005/07/08(金) 05:03:05ID:???
いや28だがごっちゃにしてないよ。
一体どこらへんが?
0034nobodyさん2005/07/08(金) 07:08:49ID:???
>中間言語にしてるから
ここらへん。
0035nobodyさん2005/07/08(金) 07:20:55ID:???
>>29だけどごっちゃにしてない。
>>28の1行目と2行目は全然別の話題では?
>>27から読んでみて。
0036nobodyさん2005/07/08(金) 10:38:17ID:???
やったことないからわかんないんだけど、動的生成のキャッシュ作るんなら
パラメータでキャッシュID振るんでしょ?そんときキャッシュディレクトリも
分けちゃえばいいんじゃないの?
0037nobodyさん2005/07/10(日) 09:56:24ID:???
Smartyで、{$array[$obj->name]}と言うような書き方って出来ますか?
この書き方でsyntaxエラーが出てしまったんですが、クラス変数を使って配列から取得したいんですが
書き方間違ってたら教えてください。
ちなみに、{$array.$obj->name}でも{$array[$obj]->name} こう変換されてしまってだめでした。
0038nobodyさん2005/07/10(日) 12:55:05ID:???
>>37
{$assing var=obj_name value=$obj->name}
{$array.obj_name}
0039nobodyさん2005/07/14(木) 05:09:59ID:???
>>37-38
キモッ!
0040382005/07/15(金) 06:33:06ID:???
>>39
俺は>37のやりたいことを実現する方法を提案しただけだ。
0041nobodyさん2005/07/15(金) 08:38:00ID:UMRZ8BPd
いや俺のほうがキモと言ってるだろうが
0042nobodyさん2005/07/15(金) 08:56:51ID:???
お前のほうが肝?
0043nobodyさん2005/07/15(金) 09:42:30ID:sLsGcdbz
すみません質問させてください。
SMARTYの特定のテンプレートから外部サイトへリダイレクトさせるにはどうしたらいいでしょうか?
{PHP〜でLocationヘッダ出力してもダメでした。
0044nobodyさん2005/07/15(金) 10:10:54ID:???
>>43
html: <meta http-equiv="Refresh" content="10;URL=http://www.yahoo.com/">
smarty: {if $redirect}<meta http-equiv="Refresh" content="{$redirect.sec};URL={$redirect.url}">{/if}
0045nobodyさん2005/07/15(金) 11:48:39ID:???
>>89
Smartyでオブジェクトは扱うなって事なのか?
0046nobodyさん2005/07/15(金) 12:11:54ID:???
そんなロングパス俺には返せない
0047432005/07/15(金) 15:13:39ID:sLsGcdbz
>>44
おお!なるほど!ありがとう!
0048nobodyさん2005/07/16(土) 01:38:18ID:???
>>45
オブジェクトのメソッド仕様が限定されていることについて?
0049nobodyさん2005/07/30(土) 18:10:02ID:???
Flexyのテンプレート内で直接PHPを書くにはどうしたらいいでしょうか?
0050nobodyさん2005/07/31(日) 23:47:56ID:???
smartyで session.use_trans_sid を有効にするにはどうしたらいいんじゃろ
0051nobodyさん2005/08/03(水) 04:47:15ID:???
smartyではsession.use_trans_sidは有効にならないの?
0052nobodyさん2005/08/07(日) 00:22:54ID:???
http://smarty.nekosuke.net/

Smartyでググると二番目に出てくるこのサイト激しくウザい
広告だらけでほとんどが他人のサイトへのリンク
何でこんな糞サイトが上位に来るんだよ
0053nobodyさん2005/08/07(日) 00:36:09ID:???
SEOだろ。
0054nobodyさん2005/08/07(日) 03:14:09ID:???
>>52
喪前もこのスレに書いたことで、上位へのポイントに加担してる訳だが。
0055nobodyさん2005/08/07(日) 15:17:30ID:???
なんかアホなページがフッタに含まれてたんだが。何だろう。

http://manage.nekosuke.net/cms.php?mode=menu
0056nobodyさん2005/08/07(日) 17:39:16ID:???
>>55
Smartyだけじゃなく、色んなテーマで無内容な広告サイト作ってるのかよ
氏ねばいいのに
0057nobodyさん2005/08/17(水) 04:04:43ID:zG9hS4+h
キー名が変数に入った連想配列は
どうやって参照できるの?

$assoc.$key

って適当にやったらエラーになった
教えてクリクリ
0058572005/08/17(水) 04:06:40ID:???
いや、これで合ってた
なんでさっきエラーになったんだろ
すまんこ
0059572005/08/17(水) 04:12:54ID:???
いやあってねーや
エラーにならないだけだ
どうしたらいいの?
0060nobodyさん2005/08/17(水) 04:17:51ID:???
入門書買えよ。

http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-32,GGLG:ja&q=%E9%80%A3%E6%83%B3%E9%85%8D%E5%88%97+php
0061572005/08/17(水) 04:23:31ID:???
いやスマーティーのテンプレート上での話です
マニュアルにも載ってないところを見ると無理ぽ?
0062nobodyさん2005/08/17(水) 04:27:21ID:???
>>61
$assoc[$key] は?
0063nobodyさん2005/08/17(水) 18:30:38ID:???
>57
$assoc.$key => $assoc.key

マニュアルに載ってルゾルゾ
0064nobodyさん2005/08/17(水) 19:33:53ID:???
>>61
試してみたら$assoc.$keyでも$assoc[$key]でもOKだったんだが、
$keyにassignしてないとかいうオチじゃないよね?

>>63
Smartyで連想配列のキーを変数でアクセスしたいってことだと思う
0065nobodyさん2005/08/17(水) 20:58:18ID:???
$hoge = array('a'=>1,'b'=>1)
$moe = array('a','b');
こんな感じので、
{foreach form=$moe item=i}{$hoge.$i}{/foreach}
こういう感じでしょ?
$iが$i.1とかだと{$hoge[$i.1]}にしないとだめなんだっけか。
0066nobodyさん2005/08/18(木) 10:13:17ID:k8qTuvh+
smarty lightってどうなん?
ほとんどそのままリプレースできんの?
使ってる人いる?
0067nobodyさん2005/08/19(金) 11:32:37ID:???
Linux上で aliasのpipe から渡されたメールのテキストを
Smartyの $smarty->fetch() を使って整形した文字列を取得するスクリプトを組もうとしてるんですけど

Linuxのコンソール上で php ./test.php としてスクリプトを実行した時には問題なく動作するんですが
メールからパイプで呼び出すと

Warning: Smarty error: unable to read resource: "test.tpl"

となってしまい fetch でテンプレートをコンパイルしてくれません。
パイプからだと実行位置が違うか template_dir へのパスがうまく通ってないのかな?
と思って テンプレート指定の部分を

$smarty->fetch("file:/path/to/test.tpl");

とフルパスを与えて試したんですけど同じ結果になってしまいます。
テンプレートファイルのアクセス権も 777 にしてるのですがだめぽです。

テンプレート内のfetch関数は、セキュリティが有効な場合は$secure_dirにあるファイルしか読めないみたいなのですが
$smarty-fetch() でも何か同じような制限があるんでしょうか?
0068nobodyさん2005/08/19(金) 11:49:29ID:???
>> 67 はフルパスの指定が間違ってた。 昨日1日ハマッたのに欝だ orz
0069nobodyさん2005/08/20(土) 00:26:52ID:CuJMKX6q
各ページの一部分にアクセスカウンターみたいに随時更新されるものがある場合、
その部分だけ、キャッシュを無効とかにできますのでしょうか。。
0070nobodyさん2005/08/21(日) 10:04:09ID:???
乱数とかで対応出来ないかな
0071nobodyさん2005/08/21(日) 13:35:48ID:???
insertを使うか、カウンタは画像にして外部読み出し。
0072692005/08/24(水) 01:24:29ID:???
>>70,71
どうもありがとうございますー。
71さんのinsertがモロそれ用の関数っぽいです。勉強不足でちた。。
0073nobodyさん2005/08/30(火) 02:00:43ID:Z/2p1wcU
テンプレートに使うHTMLをコーディングする場合、画像のパス/リンクは
読み込み元PHPを基準?と考えて作る必要があるのでしょうか?
例えば、
/usr/local/apache2/htdocs/index.php

/usr/local/apache2/htdocs/templates/index.html
を読み込んで、
/usr/local/apache2/htdocs/templates/img/
中にindex.htmlで使う画像がある場合は、、、

…ドキュメントルート以下からのフルパスで全て指定するようにすれば、無問題なのかな?
どうでしょうか?

書いてる途中で気付いた、、、orz
0074nobodyさん2005/08/30(火) 02:21:04ID:???
>>73
HTMLで使う画像のパスはURIなわけで。
アクセスされたURIから見た(絶対|相対)URIになるわけだな。
0075SmartySmile2005/09/01(木) 09:52:14ID:x5rzeuMl
Smartyでframeは使えないんでしょうか?
framexxx.tplで<frame src=xxx.tpl>みたいに指定して、
xxx.tplに<td>{$item}</td>みたいな感じで書いておいて、$itemに値をセットしてから
display(framexxx.tpl)って表示させると、
{$item}の部分がそのまま{$item}って表示されちゃいます。
srcで指定したtplの中までは解析してくれないのかな?
いい方法ないでしょうか?
0076nobodyさん2005/09/01(木) 10:17:47ID:???
>>75

君はSmartyうんぬん以前にHTMLを覚えなさい。

てか、釣り?
0077nobodyさん2005/09/06(火) 06:17:37ID:???
Simplateが面白そうだなーと思うんだけど、Unix以外にも対応してPECLにでも入れてくれないかなぁ
ピュアPHPだとどうしても速度的にネックになりやすい部分だったDBの抽象レイヤやO/Rマッピングも
PDOが標準モジュールになったり、DB_DataObjectがPECL入りしたりしてるから、
テンプレートエンジンもモジュール化されて高速に(できれば標準に)なると嬉しいんだけど。
いくらHTML埋め込みが特徴だからって<?=を使うわけにもいかないし・・・
0078nobodyさん2005/09/06(火) 08:45:22ID:???
Smartyとか使ってみたけど、使わない機能が盛り沢山で、
結局、<?=...なテンプレートをincludeする形に落ち着いたんだけど、

>>77
> いくらHTML埋め込みが特徴だからって<?=を使うわけにもいかないし・・・

なんでなんでー
0079nobodyさん2005/09/06(火) 08:53:27ID:???
flexyのキャッシュってあるの?
0080nobodyさん2005/09/07(水) 05:01:04ID:???
>>78
short_open_tagをOnにしないと使えないから。
可搬性を考えるとOn前提のコーディングは出来ないからね
0081nobodyさん2005/09/07(水) 06:10:45ID:???
>>79
PEAR::Cache や PEAR::Cache_Lite を使うのが Flexy流じゃないかな。
0082nobodyさん2005/09/07(水) 10:02:52ID:???
>>80
<?php echo ...
これで可搬性も担保できるお。

タイプ量が増えるからいや?
読みにくくなるいや?

0083nobodyさん2005/09/08(木) 16:58:41ID:???
>>77
>DB_DataObjectがPECL入りしたりしてるから、
ソース( ゚д゚)クレ
DBDOのこといってるの?
0084nobodyさん2005/09/08(木) 22:21:24ID:???
>>83
うん、DBDOのこと
中の人はFlexyの人でもあるから、テンプレートのPECL入りもありうるかなぁと思ったり
0085nobodyさん2005/09/09(金) 01:36:30ID:???
調整能力皆無な人が突っ走る可能性にかけるしかないんじゃ
0086nobodyさん2005/09/09(金) 22:03:07ID:???
http://sunset.freespace.jp/smarty/SmartyManual_2-6-5J_html/api.display.html
「それぞれの $template_dir のために別々の compile_id をセットしなければ、
同名のテンプレートはお互いに上書きされてしまいます。」
DocRoot/templates_c/
DocRoot/templates/index.tpl
DocRoot/templates/hoge/index.tpl
DocRoot/templates/hoge/piyo/index.tpl
DocRoot/index.php -> $smarty->display(DocRoot/templates/index.tpl);
DocRoot/hoge/index.php −> $smarty->display(DocRoot/templates/hoge/index.tpl);
DocRoot/hoge/piyo/index.php −> $smarty->display(DocRoot/templates/hoge/piyo/index.tpl);

2.6.1なんですが、これってやっぱり各々のindex.phpでcompile_idセットしないといけないですか?
実際"%%C5^C5B^D5GFCD64%%index.tpl.php"とか接頭語で別ファイルになってるけど。。。
0087名無しさん@そうだ選挙に行こう2005/09/11(日) 01:16:03ID:???
>>86
その接頭語はdisplay()に渡されたパス全体のCRC。あなたのやり方ならまあ大丈夫でしょう。

DocRoot/index.php
$smarty->template_dir='DocRoot/templates';
$smarty->display('index.tpl');

DocRoot/hoge/index.php
$smarty->template_dir='DocRoot/templates/hoge';
$smarty->display('index.tpl');

こういう使い方はまずい。
0088名無しさん@そうだ選挙に行こう2005/09/11(日) 02:17:11ID:???
>>87
ありがとうございます。なるほどCRCだったんですね。
って事はまずバッティングする事は無いですね、0%では無いけど(笑)

どうやら続きができそうです(^^)



0089nobodyさん2005/09/13(火) 00:11:30ID:+9gUXOxC
DocRoot/index.php
$smarty->template_dir='DocRoot/templates';
$smarty->compile_dir ='DocRoot/compdir/hoge';
$smarty->display('index.tpl');

DocRoot/hoge/index.php
$smarty->template_dir='DocRoot/templates/hoge';
$smarty->compile_dir ='DocRoot/compdir/fuga';
$smarty->display('index.tpl');

こういう使い方はどう?
0090nobodyさん2005/09/13(火) 03:26:48ID:???
fugaとhogeにそれぞれのコンパイルされたindex.phpができるでしょ
「1つ以上の $template_dir を持っているが $compile_dir が1つしかない場合です」
に該当しないから普通に大丈夫だと思われ。

DocRoot/index.php
$smarty->template_dir='DocRoot/templates';
$smarty->compile_dir ='DocRoot/compdir';
$smarty->display('index.tpl');

DocRoot/hoge/index.php
$smarty->template_dir='DocRoot/templates/hoge';
$smarty->compile_dir ='DocRoot/compdir/hoge';
$smarty->display('index.tpl');

俺ならこっちの方が管理しやすケド


0091nobodyさん2005/09/15(木) 05:08:57ID:4GZtFUq5
もしかしてタルって国内じゃものすごーく使われてませんか?
http://search.yahoo.co.jp/bin/query?p=phptal+%C2%B0%C0%AD
0092nobodyさん2005/09/16(金) 01:40:10ID:???
>91
ものすごい勢いで使われて「いません」よ。つかリザルトに国産のが引っかかってんね

ttp://phpoot.sourceforge.jp/
ttp://aloha.s151.xrea.com/studyphp/huel/

象嵌に植える?派生か知らんがどっちも無名だなプ。ベンチとか使用者のレポきぼん
0093nobodyさん2005/09/17(土) 04:34:33ID:???
>>88
山崎渉を髣髴とさせる
0094nobodyさん2005/09/22(木) 15:28:15ID:7V8YpZLH
漏れら極悪非道のageブラザーズ!
今日もネタもないのにageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧   ∧_∧    age
 (・∀・∩)(∩・∀・)    age
 (つ  丿 (   ⊂) age
  ( ヽノ   ヽ/  )   age
  し(_)   (_)J
0095nobodyさん2005/09/26(月) 16:31:10ID:/MkqbBhF
config_loadで読んだファイルからさらに
config_loadで読み込むことはできない?
0096nobodyさん2005/09/27(火) 22:45:48ID:G3cqNu07
幼い頃に父が亡くなり、母は再婚もせずに俺を育ててくれた。
学もなく、技術もなかった母は、
個人商店の手伝いみたいな仕事で生計を立てていた。
それでも当時住んでいた土地は、まだ人情が残っていたので、
何とか母子二人で質素に暮らしていけた。
娯楽をする余裕なんてなく、日曜日は母の手作りの弁当を持って、
近所の河原とかに遊びに行っていた。
給料をもらった次の日曜日には、クリームパンとコーラを買ってくれた。

ある日、母が勤め先から愛・地球博のチケットを2枚もらってきた。
俺は生まれて初めての万博に興奮し、
母はいつもより少しだけ豪華な弁当を作ってくれた。
愛・地球博の会場に着き、チケットを見せて入ろうとすると、係員に止められた。
母がもらったのは割引券で、これでは入場できないと言われた。
帰りの電車賃くらいしか持っていなかった俺たちは、会場の周辺を夕方まで散歩した。
電車の中で無言の母に「楽しかったよ」と言ったら、
うつむいた母は「母ちゃん、入場チケットだと思った。バカでごめんね」と言って
少し涙をこぼした。

俺は母につらい思いをさせた貧乏と無学がとことん嫌になって、
一生懸命に勉強した。
親元を離れて新聞奨学生として大学まで進み、
いっぱしの社会人になり毎月少しばかりの仕送りもできた。
結婚もして、孫を見せてやることもできた。

そんな母が去年の暮れに病気で亡くなった。
死ぬ前に一度だけ目を覚まし、うわごとのように「愛・地球博、ごめんね」と言った。
俺は「楽しかったよ」と言おうとしたが、最後まで声にならなかった。

0097nobodyさん2005/09/28(水) 20:14:28ID:???
愛地球博じゃなくて
万博にしたら泣けたのにな。

こないだ終わったばっかじゃん。
0098nobodyさん2005/09/28(水) 21:48:47ID:???
人間交差点に東京オリンピックの話あったよね。
0099nobodyさん2005/09/30(金) 03:18:14ID:+J65W0vg
Smarty中のループでネストがあった時ってどうしてる?
字下げしたら、それがHTMLにも出力されるし、
字下げしにくいと見にくい。どうしたものか…
0100nobodyさん2005/09/30(金) 10:10:28ID:???
>>99
かまわずタブで字下げしてるけど
気になるなら
一度文字列として取得したあとに
タブを除去して出力するとか

メールのテンプレートにもsmartyを使ってるけど
メールの場合はダイレクトに反映されてしまうのでそうしてるよ
0101nobodyさん2005/09/30(金) 11:17:08ID:???
>>99
前はコメント文を使って段下げしてたなー
今は詰め詰めで書いてるけど
■ このスレッドは過去ログ倉庫に格納されています