【PHP】Smarty【Template】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/10 00:57ID:NhgrjNBT本家(英語)
http://smarty.php.net/
日本語マニュアルとか
http://sunset.freespace.jp/smarty/
0243239
03/10/20 13:16ID:???やればうまくいきました。
0244nobodyさん
03/10/21 14:41ID:???みたいに配列を直接指定する方法ってありますか?
0245244
03/10/21 15:24ID:???できないのは $a[0]->b[0] でした。
できないのかなー?
0246nobodyさん
03/10/22 17:20ID:6TbJL0Yrエラーがでてた。
これSmarty?
http://www.itv24.com/
0248nobodyさん
03/11/07 15:10ID:KX2gQLRX0249nobodyさん
03/11/07 19:42ID:ZxETm7Q5---
$template_dir
テンプレートファイルを置くディレクトリです。ファイルをインクルードする際にリソースの種類を指定しなかった場合は、
このディレクトリから探します。デフォルトは"./templates"で、実行中のphpスクリプトが置かれた場所に存在する
"templates"ディレクトリを探す事を意味します。
テクニカルノート: このディレクトリをwebサーバのドキュメントルート下に置く事を推奨しません。
---
この最後の行、なんでなんでしょう?
直接のぞかれて問題のあるようなテンプレート(tpl)ファイルを置く方が、問題だと思うのですが・・・
実際、XOOPSなんかも、ドキュメントルート下にtplファイル置いてますし。。。
0250nobodyさん
03/11/07 21:10ID:???何が言いたいんだ?
> 直接のぞかれて問題のあるようなテンプレート(tpl)ファイルを置く方が、問題だと思うのですが・・・
問題なんじゃん、じゃあこれであってるじゃん
0251nobodyさん
03/11/07 22:32ID:???処理方法がばれればクラッカーに解析される可能性など。
見られないにこしたことはない。
0252nobodyさん
03/11/07 23:57ID:???XOOPSの場合、レンタルサーバ等でhtml公開用のディレクトリ
以外がユーザに解放されていないケースにも合わせるため
XOOPSインストールディレクトリ以下に集中させる設計になっているから
必ずしもセキュリティ上ベストな選択がなされている訳ではないよ。
#敢えてレベルの低いところをターゲットとしている。全体的に
0253nobodyさん
03/11/12 04:47ID:FrBzA+QuSmartyを導入しようとしているのですが、
Warning: main(/usr/local/apache/smarty/Smarty.class.php):
failed to open stream: Permission denied in /usr/local/apache/htdocs/index.php on line 23
となってしまいます。
でも、httpd.confは、
User www
Group www
としていて(いつお、apacheをリスタートさせた)
で、
chwon www:www smarty
chmod 770 smarty
chwon www:www smarty/*
chmod 770 smarty/*
としたのですが、
やはり、前述のエラーが出てしまいます。
ただ、1回、正常に動作したことはあったんですよね。。。
そのあと、smartyのディレクトリを場所変えたり、
些細なことしか(なにをしたかは失念してしまいましたが)してないはずなのに、こうなってしまってます。
いったい、どこらへんを疑えばいいのでしょうか?
ポインタだけでも示して頂ければ幸いです。
0254nobodyさん
03/11/12 07:29ID:FrBzA+QuExample 2-2. Smartyのインスタンスを作成する
require('Smarty.class.php');
$smarty = new Smarty;
Example 2-3. ライブラリファイルの絶対パスを指定する
require('/usr/local/lib/php/Smarty/Smarty.class.php');
$smarty = new Smarty;
Example 2-4. phpのinclude_pathにライブラリディレクトリを追加する
// php.iniを編集し、include_pathにSmartyのライブラリディレクトリを追加して
// webサーバをリスタートしたなら、以下を行ってください。
require('Smarty.class.php');
$smarty = new Smarty;
Example 2-5. 手動でSMARTY_DIR定数を定義する
define('SMARTY_DIR','/usr/local/lib/php/Smarty/');
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty;
↓から引用しますた。
http://sunset.freespace.jp/smarty/SmartyManual_2-6-0RC2J_html/installing.smarty.basic.html
0255nobodyさん
03/11/13 09:38ID:???その些細なことが原因なんだと思うが。。。
わからなかったらもう1度最初からやったほうがいいと思う
chwon を chownにしたらよいかも
0256nobodyさん
03/11/13 21:49ID:???http://sunset.freespace.jp/smarty/SmartyManual_2-6-0RC2J_html/installing.smarty.extended.html
0257nobodyさん
03/11/14 13:26ID:maWzYQwN俺も最近使い始めたんだけど、JavaScriptやCSSのタグに引っかかって
鬱陶しい。結局何に変更しました?
0258nobodyさん
03/11/17 14:01ID:EFGY3Z8yカスタム関数の追加ってどうやるんですかね?
動的な関数の追加はregister_function()を使用すればよいのですが、
もっと汎用的に使いたいんです。
マンモス本によりますと、Smarty.addons.phpというファイルに定義を
追加すればよいことになっているんですが、これはこの本の出版時点
のversion 1.5での設定法らしんです。
version2か2.5あたりから、そのあたりの使用が変わったらしい(changelog
を参照)
のですが、新しい設定法がわからなくて悩んでいます。
どなたかご教授願えませんか?
0259nobodyさん
03/11/17 15:54ID:???オレも最初はマンモス本でやった
いろいろ変わってるよね。
ほい。
ttp://sunset.freespace.jp/smarty/SmartyManual_2-4-1J_html/index.html
たぶんpluginsディレクトリ内の
function.xxxxx.php
を適当にコピーして内容もそれを参考にいじれば
いけたような。。。
0260nobodyさん
03/11/17 15:56ID:???そこまで分かっていて、日本語に訳されたマニュアルもあるのに
どうして読まないのでしょうか?
ttp://sunset.freespace.jp/smarty/SmartyManual_2-6-0RC2J_html/
0261nobodyさん
03/11/17 18:48ID:6jAm6LT2有難う御座います。
マニュアルは一応一読したつもりですが、グローバルなカスタム関数の
登録に関して記述が見当たらなかったもので・・・。
それでやってみますです!
0262nobodyさん
03/11/18 15:58ID:???0263nobodyさん
03/11/18 17:06ID:???0264@@@@@
03/11/19 00:18ID:Zaav6IG2>‥∞‥。☆゜‥∞‥゜★。‥∞‥。☆゜‥∞‥゜★。‥∞‥。☆゜
>
> ねえ、ちょっと・・・マジやばいんじゃない? この動画!!
> ↓↓ ↓↓
> http://moro00.e-city.tv/ http://moro00.e-city.tv/
>
> ハッキリ言って、丸見え! 素人はお金のためなら何でもヤル。
> 撮られた時はこんなにバラ撒かれるとは思わなかったんだろね。
> けっこうカワイイ娘なのになぁ・・・ そのへん歩いてたりして!
>
>‥∞‥。☆゜‥∞‥゜★。‥∞‥。☆゜‥∞‥゜★。‥∞‥。☆゜
>
0265nobodyさん
03/11/25 22:06ID:???0266nobodyさん
03/12/05 20:56ID:n07yC7qyhttp://pc2.2ch.net/test/read.cgi/php/1067635640/984
<p id="name">ここに名前</p>
が、
$tpl->assign("name", "太郎");
で
<p>太郎</p>
となるようにするにはどうすればいいのでしょうか。
今自分ことの環境はデフォルトなので、デリミタは { } となっています。
0267nobodyさん
03/12/05 21:48ID:???Smartyはセットアップできたの?
あなたの質問の内容よりよっぽど難しいと思うけど。
で、セットアップ出来ているとしたら、セットアップする際に参照した
マニュアル(例えば>>1には日本語マニュアルが紹介されている)の
最初の方にあなたの求める答えが載っているのだが。
0268266
03/12/05 22:20ID:???を見てインストールし、
require('guestbook/setup.php');
$smarty = new Smarty_GuestBook;
$smarty->assign('name','Ned');
$smarty->display('index.tpl');
まではうまく動くことを確認しました。
いまマニュアルを読み返しているのですが、それらしき箇所を発見することができません。
デリミタのカスタマイズは$left_delimiterと$right_delimiterの値を変えるんだと
思うのですが、これをどういじっても
<p id="name">ここに名前</p> ⇒ <p>太郎</p>
とはならないような気がします。
0269nobodyさん
03/12/05 22:46ID:???もう少しマニュアルを読めば分かると思うけど、index.tplに
<p id="name">{$name}</p>
と書けば置き換わるよ。
0270266
03/12/05 22:57ID:???<element id="varname">ダミーの文字</element>
というテンプレートに対して、 assign('varname', 実際の文字) とすると
varnameというidの振られたエレメントの中のダミーの文字が置き換わって
<element>実際の文字</element>
となるようなライブラリを探しているんです。
これだと、「仕上がり見本」のHTMLをそのままテンプレートに使えるんです。
0271nobodyさん
03/12/05 23:05ID:???ああ、そういうことね。
では、テンプレートにifとelseを使って、$hogeがあるときは$hogeの内容、
$hogeが無いときはデフォルトの文字列っていう風にしてはいかが?
0272266
03/12/06 13:28ID:???っていうことですか? これ Smartyを通さないと <p>加藤剛</p> を得られませんよね。
デザイナーは普通のHTMLエディタで何の変哲もないHTMLを書けばいい、
というのが狙いなので。
0273nobodyさん
03/12/06 13:46ID:???ああ、そこまでは無理やね。
というか、そんなの実現不可能だと思うけど。何使っても。
もしそういうライブラリーが見つかったら、報告よろしく。
0274266
03/12/06 15:07ID:???ttp://www.brain-tokyo.jp/research/amrita/index_ja.html
PHPでというのが要件なので、探しているのです。
0277nobodyさん
03/12/10 17:44ID:d5KtgpUB使って割り当てたもの、という意味なんでしょうか?
出力したい変数が多数あるのですが、テンプレート内で{$hoge} とする
だけでは出力しないものなんでしょうか?
0278nobodyさん
03/12/10 17:48ID:???でいいじゃん
0279277
03/12/10 17:51ID:???ちゃんとマニュアルを読めば分かることでした(汗
assign などを使わないと、どこからも割り当てられていない変数を
表示しようとしちゃうんですね。あうー はずかちー
0280nobodyさん
03/12/12 00:15ID:BBYj3pBU「デザインとプログラムの分離」ができるという点で、
良さを伝えたいのですけど、PHPそのものでいいじゃんと言われてしまいます。
社内にSmarty広めたいのだけど、どうすればいいのだろう?
(キャッシュとかできて高機能だよ、とは言えるんだけど、
「デザインとプログラムの分離」の点で、説得できない・・・)
0281nobodyさん
03/12/12 00:18ID:???{$vari}も
<?=$vari?>
も
標記的にはほとんどかわんないし、
べつに<?=$vari?>でイイじゃん
って思うんだけど、
なんでわざわざ
smartyなの?
0282nobodyさん
03/12/12 01:04ID:C20HZJQrおれはそうやって作ってる
かなり見やすいしさ。Smartyはちょっと見たけど、あまり魅力を感じない。
現時点ではね。
0284nobodyさん
03/12/12 10:18ID:???PHPだけでやればよい。
そうでないなら分けたほうが絶対便利。
あとはテンプレートエンジンの比較のはなし。
PHPで独自のテンプレートエンジンつくればいいっていう
頑固おやじはデザイナにそれの使用を強要して
使いにくいは、マニュアルもないはで、
「これだからプログラマは・・・」って言われるのがオチ
0285nobodyさん
03/12/12 11:49ID:???0286nobodyさん
03/12/12 11:51ID:???人たちは、
1.入力フォーム表示
2.内容確認ページ表示
入力エラーがあった場合は1に戻ってエラーメッセージを表示
「再入力」ボタンが押された場合は、入力内容を保持して1を表示
入力エラーが無ければそのまま確認ページを表示
3.処理結果表示
処理中に問題があった場合は2に戻ってエラーメッセージを表示
というフローを実現する時にどうしてるの?
0287nobodyさん
03/12/12 12:01ID:???でページを分けて
セッションを使いつつ
リダイレクトさせればOKじゃないの?
0288286
03/12/12 12:12ID:???ファイルを分けた場合、2で生成したエラーメッセージは
どうやって1のフォームに表示しますか?
セッションに持つんじゃダサすぎるよね。
0289nobodyさん
03/12/12 12:15ID:???セッションじゃだめなの?
別にPOSTでもいいけど
セッションがいやならPOSTにすればいいんじゃないの?
0290286
03/12/12 12:39ID:???セッションが使えない場合にエラーメッセージが表示されなくなるのは
アプリケーションとして問題ありじゃないですか?
常にセッション前提の開発が出来るんなら別ですけど。
あと、2でPOSTにエラーメッセージを詰め込んでから
1にリダイレクトしても意味ないような気がしますが…。
0291nobodyさん
03/12/12 12:43ID:???それならポストが使えない場合、GETが使えない場合とか
考えるとキリがないと思うんだが。
あと、何で意味無いのかわからない。
じゃあ、どうするの?
というか、これ全然smartyに関係ないと思うんだが。
0292286
03/12/12 12:53ID:???今時セッションが使えない場合ってのはないかもね。
でも、POST/GETメソッドが使えない場合なんてある?
リダイレクトってLocationヘッダを使うってことだよね?
そうすると$_POSTの内容ってまっさらになってしまう気がするんだけど。
俺の場合、>>286で書いたフローを実現するのに単一のファイルに
input()、confirm()、commit()みたいな関数を作って処理してる
のだけど、こういう構造にするとHTMLとコードを混在させるのはまず
不可能なのでHTML部分はSmartyで別ファイルにしています。
で、「Smartyイラネ」とか言ってる人はこの辺どうやってるのか不思議だったんですが。
0293nobodyさん
03/12/12 13:27ID:???<?php
〜〜〜〜〜
〜〜〜
処理、このなかで出力するテキストなどを
変数にセット
〜〜〜
?>
<HTML>
<BODY>
<? echo "$phpでセットした変数"?>
<?=$phpでセットした変数?>
0294nobodyさん
03/12/12 14:02ID:???main.php:
<?php
if (!is_numeric($hoge)) {
$status = "ng";
$message = "数字を入力して下さい";
}
if ($status == "ok") {
include ('complete.html');
exit;
}
include (question.html);
exit;
?>
question.html:
<?php print $message; ?>
<form action='main.php'>
<input type='text' value='<?php print $hoge; ?>'>
</form>
みたいにして、question.html をドリームウェーバーor 手書きで編集してました。
なので、あまりSmarty は必要ないかな、と思っていましたが、入力エラーのときに
option やcheckbox のvalue 値を引き継ぐのはSmarty の方が便利でした。
0295nobodyさん
03/12/12 15:12ID:???わざわざ鯖に仕事させなきゃ駄目?
0297nobodyさん
03/12/12 15:48ID:???javascriptとかリダイレクトとか。
そんなの言ってるの趣味でやってる学生とかだろ?
そんなのスルーでお願いしますよ
0298286
03/12/12 16:07ID:???商品情報編集ページを作るとして、入力してもらった商品IDをもとにデータベースを
見に行ったが該当する商品が無かった場合に「入力されたIDは存在しません」みたいな
表示をする場合はどうしますか?
そもそも、クライアントサイドでの書式チェックとサーバサイドでの内容チェックは別物ですよ。。
0299nobodyさん
03/12/12 19:57ID:???みなさんは無視してます? ソースに手を付ける?
それとも付いてると何かいいことがあるのかしらん??
0300286
03/12/12 20:15ID:???<label>要素が付くと、チェックボックス部分だけでなく文字列を
クリックしてもトグルできるようになるよ。
[x] この文字列をクリックでもOK
IEはどうか知らんけど、Firebirdではちゃんと動くから俺は
気にせず使ってる。
0301nobodyさん
03/12/12 21:55ID:???0302286
03/12/12 22:37ID:???JavaScriptをオフにするとまともに閲覧できない企業サイトもあるわけだが。
と言うか別にJavaScriptを使うのは構わないんだけど、エラー処理を
JavaScriptだけで行おうとするWebプログラマはアホということ。
0303nobodyさん
03/12/13 00:34ID:lh7ZJy1b0305nobodyさん
03/12/13 14:25ID:???0306nobodyさん
03/12/13 15:55ID:???0307nobodyさん
03/12/13 18:03ID:???あのスレは途中でタイトルが間違ってる事を指摘されてたワケだが。
実際に仕事とかで「デザインとコンテンツの分離が・・・」とか言い出したヤツがいたら
あぁコイツは分かって言ってねーんだなぁと9割方思っていい。
0308nobodyさん
03/12/13 19:59ID:???んんと、Smarty使ってるような感じで
そのまま別のPHPファイルをincludeしてる
SmartyはSmartyで便利と思うんだけど
Smartyのコードだと外部ファイル側で小回りが利かなくなるというか・・・
0309nobodyさん
03/12/13 22:37ID:ittzKU4pWarning: Smarty error: problem writing temporary file '/home/sites/site40/templates_c/\%%117\%%1172603085\3fdb11ae15d5f' in d:\home\sites\site40\smarty\Smarty.class.php on line 1144
Warning: touch(): Unable to create file /home/sites/site40/templates_c/\%%117\%%1172603085\index.tpl.php because No such file or directory in d:\home\sites\site40\smarty\core\core.write_compiled_resource.php on line 31
Warning: fetch(/home/sites/site40/templates_c/\%%117\%%1172603085\index.tpl.php): failed to open stream: No such file or directory in d:\home\sites\site40\smarty\Smarty.class.php on line 1291
Warning: fetch(): Failed opening '/home/sites/site40/templates_c/\%%117\%%1172603085\index.tpl.php' for inclusion (include_path='.;c:\php4\pear') in d:\home\sites\site40\smarty\Smarty.class.php on line 1291
チェックすべき点や参考になるサイトなどがあったら教えていただけないでしょうか?
環境
Windows2000 professional
php4.3.4
0310309
03/12/13 22:44ID:???$smarty->template_dir = '/home/sites/site40/templates/';
という風にしていたのを
$smarty->template_dir = 'd:/home/sites/site40/templates/';
としたら動きました。
スレ汚し申し訳ないです。
今からしっかりと勉強してSmartyの世界につかろうと思います。
0311286
03/12/14 01:13ID:???んー、なるほどね。
俺は逆にincludeするファイルがPHPで書かれていると、<?php ?>タグが
デザイン(HTMLタグ)とごっちゃになっちゃう気がするのでSmartyにしてます。
いざとなればSmartyのテンプレートファイル中に
{php}
// PHPのコード
{/php}
とすることもできちゃうし。
まあ、実際にはPHPのコードを書かなければいけない状況になったことは無いですけど。
0312308
03/12/14 04:19ID:???俺もSmarty化しようと思って
実際使ってみてやっぱり辞めた派なので
HTMLタグとの区別がスッキリするというのはよくわかります
辞めた理由としては
やっぱりインラインでデザイン側にいくつか変数欲しくなった時でも
いちいち呼び出し側でassignしなきゃいけないのが面倒でした
今は事実上Smartyみたいな構成にして
PHPコードで書かれたデザイン用ファイルを用意して普通にincludeしてます
HTMLタグとの混合はショートタグでだいぶましにはなります
それでもやっぱりスマートじゃないよう気がしますが・・・
やっぱりPHPネイティブのテンプレート機構が
あるのが一番いいなと思います
0313286
03/12/14 13:22ID:???「いちいち呼び出し側でassignしなきゃいけない」ということは、
デザインとロジックの分離が強制されるということなので気にしないようにしてます。
あと、ショートタグを有効にしているとXHTML(XML)を記述する時にハマるのも
気をつけたいところ。
0314nobodyさん
03/12/14 13:33ID:???$aaa->c1 = "111";
$aaa->c2 = "222";
$tpl->assign("aaa", $aaa);
$tpl->display("xxxx.tpl");
-------------------------
{$aaa->c1} {$aaa->c2}
変数増えても平気だ
0315nobodyさん
03/12/19 10:20ID:hqiHAaNv関数はありますが単純に数値でループさせるにはどうすればいいのでしょう。
例えば10という数値をアサインして,テンプレートで10回処理を繰り返す
(例えば改行を10回入れるなど)といった処理です。
forは無いようですし,doやwhileもありませんよね?
0316nobodyさん
03/12/19 11:22ID:???Smartyの良いトコの一つとしてプラグインによる拡張があるワケで、
こういうタグが無いぞ!と思ったら
http://smarty.incutio.com/?page=SmartyPlugins
から探すか、もしくは自分で作る。
ちなみに回数を指定して繰り返したいなら、BlockRepeatPluginで
そのものズバリの事が出来る。
0317nobodyさん
03/12/19 11:27ID:???なるほど。
forのような基本的な関数が無いはずが無いとマニュアルを何度も探していたのですが,
プラグインを使うのですか・・・
紹介していただいたサイトとプラグインをよく読みます。
ありがとうございました。
0318nobodyさん
03/12/19 13:00ID:???forやdoやwhileは、その条件や回数がテンプレート(View)とは無関係なものだから
テンプレート内では使えないようになってるんでしょう。
改行を10回入れたい場合はコードのほうで、
$smarty->assign('loop', 10);
とやっておいて、テンプレートでは
{section name=foo loop=$loop}
<br>
{/section}
でOK。
0320nobodyさん
03/12/19 13:15ID:???そうなのか?ってどっちのこと?
forやwhileが無い理由はそういうことだと思うけど。
動的にページの要素を増減させたいケースっていうのはつまり、
「商品の数が増減するからテーブルの行も増減する」とか
「User-Agentによって一部分を表示させたくない」とか
ロジックによる処理ばっかりでしょ。
0321317
03/12/19 13:36ID:???> {section name=foo loop=$loop}
> <br>
> {/section}
確認しました。こんなことが出来るんですね。
何で今まで試さなかったんだろう・・・orz
いままで,array_padでダミーの配列を作ってループしていたので,
メモリも節約できて助かります。
$smarty.section.hoge.indexも使えるのでsectionが使えれば万々歳です。
ありがとうございました。
0322nobodyさん
03/12/19 15:42ID:???$output .= "{$section_props}['loop'] = is_array($attr_value) ? count($attr_value) : max(0, (int)$attr_value);\n";
ってことだった。
loopには配列しか指定できないもんだと思ってたよ。
0323nobodyさん
03/12/20 21:52ID:???やっぱりみんな手で組んでるの?
これじゃ、せっかくデザインを分離できてもなーー
0326nobodyさん
03/12/22 21:59ID:???Dreamweaver使ってないんだけど、どういう問題?
SmartyタグのせいでHTMLが正しく解釈されず、デザインビューがメチャクチャになるって事?
多少の対策として、デリミタを{ } から <{ }>みたいにしてるね。xoopsとかは。
0327nobodyさん
03/12/23 00:10ID:???デザイナが編集するときにきれいに表示されないってことです。
{section xxxx.....}
とかはそのまま表示されてしまいますし
もちろん
{if xxx}
xxx
{else}
xxx
{/if}
とかも表示が崩れます。
if文の中でタグの開始とか終了とかやってると顕著です。
xoopsかー
ちょっと見てみようかな
0329323
03/12/23 23:30ID:???自分は、趣味で作ってるサイトでやってるだけなので、
ドリにタグが出ても、問題ないです。
職場でもphpとかで開発してるけど、
Smarty?何それ?と言われた(泣く
0330nobodyさん
03/12/24 01:11ID:???0331nobodyさん
03/12/24 01:24ID:???どいつもこいつも独自仕様なんだよな。
大差ねえ野に。
0332nobodyさん
03/12/27 20:35ID:???特にメリット無いよね?
オーバーヘッドが無いとか色々書いてあったけど、
別にこれを使う事で開発が楽になったりプログラムの実行速度が速くなったりはしない?
0334nobodyさん
03/12/28 09:49ID:???クラスとか関数の定義を読み込んだりする
最初にかかる時間の事だと思ってますが
ちゃんとした本とかで勉強した事が無いので合ってるかどうかは分かりません。
0335nobodyさん
03/12/30 11:17ID:???しばらくお待ちください。
0336nobodyさん
04/01/02 22:22ID:???今年もSmartyを使っていろいろ開発していきましょう!
という自分は、現在自分のサイト(趣味で作っているヘボサイト)を
勉強をかねてSmartyを利用して再構築しています。
正月休みは、マニュアルを読みながらひとつひとつの動きに
感激しっぱなしでした。
仕事でJavaServletやJSPを利用したWebシステムの開発をしているので、
Smartyは非常にとっつきやすいです。
0337nobodyさん
04/01/04 01:15ID:LkXOe+SCtplファイルに<?xml version="1.0" encoding="utf-8"?>
としても特に問題起こらないですか?
(もちろんtplファイルの文字コードはutf-8。ただし、phpスクリプトはEUC)
0339337
04/01/05 22:52ID:SHqc05ocいちお、いまんとこ問題なさげなんだけど・・・
0342nobodyさん
04/01/11 21:34ID:ESnicSkb/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、Smartyはスマートだ。
|| | | | \ ┃ ┃/ \________
| || | |  ̄  ̄|
■ このスレッドは過去ログ倉庫に格納されています