トップページ⇒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/
0702nobodyさん2006/10/12(木) 07:19:44ID:???
VPNのルータがフラグメントしないのが悪い。
mtuの設定が間違ってる。1430ぐらいなのに1500で設定してるだろ?
0703nobodyさん2006/11/03(金) 23:22:04ID:N9Ney0mM
hoge.tplに多次元配列を渡して、配列内容を検索しヒットした内容のKEYを戻り値として、取得したいんだが…
PHPで言うところの、array_searchみたいなやつ。
何か方法ないかな? ボスケテ;;
0704nobodyさん2006/11/04(土) 07:52:03ID:???
>>703
だれが取得したいの?
テンプレートからテンプレートを呼ぶってことか?
0705nobodyさん2006/11/04(土) 21:15:17ID:+XTG9Sit
{foreach from=$list1 key=key item=value}
<table>
{foreach from=$list2 key=id item=item}
<tr>
<td>{$item.name}</td>
<td>{$value.keyname[$id]}</td> ← ここ
</tr>
({/foreach})
</table>
({/foreach})

のように、本来ならkeyname.id1 keyname.id2 keyname.id3というところを
内部のforeachのインデクサを配列の添字として使用したい。
何かいい方法ないものかなぁ?
0706nobodyさん2006/11/04(土) 22:47:30ID:???
データ構造を見直してみるとか。
てか多次元配列じゃなくね?
0707nobodyさん2006/11/09(木) 04:09:53ID:???
前からたまにあがるけど、それ無理
ロジック側でなんとかしる
0708nobodyさん2006/11/10(金) 00:21:40ID:???
Commentee Plan

veax.NET::役に立たないPHP拡張モジュール製作所
http://blog.veax.net/

面白そうなの見つけて注目中
0709nobodyさん2006/11/22(水) 20:00:46ID:???
>>705
foreachのプロパティのiterationじゃダメなの?
0710nobodyさん2006/12/02(土) 18:09:36ID:???
{section name=cnt loop=$hoge}
{/section}
上記のような場合に
{section}間でcntに1加えた数字を使いたいと考えています。
どのようにすればいいでしょうか。
0711nobodyさん2006/12/06(水) 13:53:37ID:???
iteration
0712nobodyさん2006/12/15(金) 23:32:46ID:???
>>706も>>707も
よく>>703,705の言いたい事が理解出来たな、俺にはさっぱりわからん
0713nobodyさん2006/12/24(日) 18:38:33ID:???
このぐらい理解できないと、クラの言ってる事理解できないぜ^^
0714nobodyさん2006/12/27(水) 17:09:35ID:???
Smartyって PHPで変数の有無をチェックするのに
if ($hoge){}
と書いてたように
{if $hoge}{/if}
って言う使い方は出来ないんですよね?
(やってみたらうまく動きませんでした)

わざわざ別の変数を用意して
{if $check_hoge == 1}{/if}
みたいにしないといけないんでしょうか??
0715nobodyさん2006/12/27(水) 19:30:22ID:???
{if isset($var)} ってできなかったっけ
0716nobodyさん2006/12/28(木) 00:05:11ID:???
>>715
できる
07177142006/12/28(木) 14:04:09ID:???
>>715-716
勉強不足でした ご助言本当にありがとうございました 
0718nobodyさん2006/12/29(金) 17:59:05ID:Oa9zj9TG
Smartyで{$obj->getObj->getName()}ってできる?
0719nobodyさん2007/01/07(日) 17:56:17ID:lgQgqthI
誰か答えてやれ
0720エスパー伊東2007/01/07(日) 18:03:01ID:???
呼んだ?
0721nobodyさん2007/01/08(月) 17:02:30ID:???
テーブルの各行の中にチェックボックスを入れたいのですが
html_tableとhtml_checkboxesを組み合わせて使うようなことはできますか?
0722nobodyさん2007/01/08(月) 17:52:31ID:???
>>718
{$obj->getObj->getName()}はできない
0723nobodyさん2007/01/08(月) 20:58:19ID:???
>>683のURL先を参考に自作関数を入れようとしたのですが
スクリプトと同じ場所にコピーすれば実行できたんですが
この関数の名前のファイルを作ってpluginsフォルダに置いておけば
自動的に読み込んでくれたりできないんでしょうか?
今は置いたとしても
syntax error: block function 'html_table_block' is not implemented
とエラーが出てしまいます..
07241332007/01/12(金) 17:51:59ID:???
特定の文字がHTML内にはいっているとエラーになるのですがこれは何なのか分かりますでしょうか?

Smarty error: [in hoge.html line 19]: syntax error: unrecognized tag: 投票


この場合、「投票」という文字を消すと動作します
0725nobodyさん2007/01/12(金) 20:24:35ID:???
0x5Bだと思うけど情報が少なすぎて原因は分からん
取り合えず{literal}{/literal}で囲めば逃げられると思う
0726nobodyさん2007/01/12(金) 22:28:58ID:3JXbZGmD
ttp://ml.php.gr.jp/pipermail/php-users/2003-February/013595.html

俺はこれで解決したんだがどうよ
0727nobodyさん2007/01/12(金) 22:39:25ID:???
開始タグを2文字以上にする手もある。
開始タグを<!--{ 終了タグを }--> にするとか。
0728nobodyさん2007/01/16(火) 11:38:11ID:JtgOvcxU
XOOPSなんかはデリミタを <{ と }> にしてるみたいだね
俺もなんかあったら面倒なのでそうしてる

ところで Smartyで改行(nl)を無効にする命令ってないのかな?
ヘッダーのキーワードをページごとに変更できるように 変数を入れてSmartyの
Sectionで挿入しようとしたんだけど ソースが改行されて汚い
tplファイルを改行ナシにしたらいけるんだろうけど それだとファイル変更時
にわかりにくくなるしなぁ
0729nobodyさん2007/01/16(火) 14:02:46ID:???
>>728
$hoge|str_replace じゃあかんの?
07307282007/01/16(火) 15:27:15ID:???
>>729
str_replaceをはじめて知ったド素人にレス感謝です
調べたところstr_replaceって置換ですよね? 置換じゃ無理っぽい 多分

説明が悪かったかもしれないのでもう一度
Smartyのテンプレートファイルにおいて
<head>

<meta name="Keywords" content="…,…,…,…,
{if isset($keyword)}
{section name=keyword_no loop=$keyword}
{$keyword[keyword_no]},
{/section}
{/if}
…,…" />
</head>
07317282007/01/16(火) 15:27:49ID:???
ってやってるんですが 出力されたHTMLのソースを見ると
<meta name="Keywords" content="…,…,…,…,
キーワード1
キーワード2
…
…,…" />
と改行されてしまうのが嫌だなと言うことです

テンプレートファイル中で改行してることから それが原因だろうとは思う
のですが 改行ナシにするとテンプレートファイルを見ると汚くなるので
それは避けたいです
(今後他人に仕事を振る可能性もあるし)

で テンプレートファイル中の改行を 出力するHTML上では無効にすることが
出来る命令があればなぁと思ったのです
textformatで出来るかな? と思ったけど無理っぽいし…orz
0732nobodyさん2007/01/16(火) 16:35:49ID:???
{strip}{/strip}
07337282007/01/17(水) 13:15:30ID:???
>>732
ありがとうございます!! 出来ました!!!

っやっぱり暫定マニュアルだけではなく 書籍も買わないといけませんね…
0734nobodyさん2007/01/17(水) 17:22:58ID:???
キャッシュの有効期限を延ばすにはどうすればいい?
0735nobodyさん2007/01/17(水) 17:47:35ID:???
ttp://sky.freespace.jp/smarty/SmartyManual_2-6-7J_html/variable.cache.lifetime.html
0736nobodyさん2007/01/17(水) 17:57:56ID:???
ttp://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/caching.html
こっち貼ってやった方がいいんじゃね?

つーか少しは自分で調べよう
0737nobodyさん2007/01/17(水) 20:51:11ID:???
質問です。

WindowsXP+IIS5.1+PHP5.2+Smarty2.1.16 を使用すると、

以下のようなエラーが画面に表示されてしまいます。

URL:http://localhost/dash/test.php

Warning: Smarty::include(templates_c\%%D9^D9B^D9B21B55%%test.html.php)
[function.Smarty-include]: failed to open stream:
No such file or directory in C:\Inetpub\wwwroot\dash\libs\Smarty.class.php on line 1258

Warning: Smarty::include() [function.include]:
Failed opening 'templates_c\%%D9^D9B^D9B21B55%%test.html.php' for inclusion
(include_path='.;c:\php\includes;c:\php\PEAR;c:\php\smarty')
in C:\Inetpub\wwwroot\dash\libs\Smarty.class.php on line 1258



C:\Inetpub\wwwroot\dash\templates_c フォルダに
コンパイルされたphpファイルができません。
コンパイルができないみたいです。

WebサーバをApacheにするとうまくいくのですが…
Smartyを使用する場合、IISの設定で変更しなければいけない箇所があるのでしょうか?
0738nobodyさん2007/01/18(木) 07:32:45ID:???
>>735
ごめん、すでにあるキャッシュファイルの有効期限を延ばしたいんだ。
それを知りたい。
0739nobodyさん2007/01/18(木) 10:28:23ID:???
Smartyってファイル単位でキャッシュの有効期限制御していたっけ?
0740nobodyさん2007/01/18(木) 10:46:18ID:???
>>737
特に設定する必要はないと思うけど

Smarty.class.php の _compile_resource メソッドがどんな動きをしているか
見たほうがいいかも
0741nobodyさん2007/01/18(木) 14:39:41ID:???
smartyの
section内で$hoge[$foo]みたいなことしたいのですが、どのようにやれば出来ますでしょうか?

{section name="val" loop=$data}
 {$hoge.$foo[val].name}
{/section}
でできませんでした…
0742nobodyさん2007/01/18(木) 16:32:29ID:???
>>738
キャッシのexpiresんとこのタイムスタンプ書き換えれば延ばせる

なぜそんなことがしたいのか分からないけど
0743nobodyさん2007/01/18(木) 17:06:50ID:???
HTML_Template_Flexyのテンプレートに
{hoge}
と書いたら、php側のhoge変数の中が展開されると思いますが、
これを、
{hoge}そのものを出力したい場合、テンプレートにどう書けばよいでしょうか?

\{hoge\}
とか
{{hoge}}
とか試してみたんですが、無理でした…。
0744nobodyさん2007/01/18(木) 17:26:18ID:???
?#123;hoge?#125;
とか
0745nobodyさん2007/01/18(木) 17:28:28ID:???
あら失敗
?は&ね
0746nobodyさん2007/01/18(木) 17:32:04ID:???
デリミタを変えたらダメなの?
0747nobodyさん2007/01/18(木) 17:48:50ID:???
>>744
{hoge}
と出すのは無理すかね?
なぜかというと、これをファイルに出力して、またFlexyのテンプレートとして食わせたいのです。


>>746
{hoge}
を、通常通り置換したい場合もあるので、デリミタそのものを変えるのではまずいのです。

お二人ともレスありがとう。
説明不足ごめんなさい。
0748nobodyさん2007/01/18(木) 18:26:03ID:u6x8DYYx
テンプレート中からPHP関数を利用して、
オブジェクトの生成をし、
Smartyのassign関数にアクセスするメソッドを利用しようとすると、
 Fatal error: Call to a member function assign() on a non-object
 in C:\Program Files\Apache Group\Apache2\htdocs\test\index.php on line 7
と返されてしまいます。
ならべく、テンプレート内にPHPを書きたいのですが、
(本来のSmartyの利用意図に背くのは重々承知です。)どうすればよいでしょう。

--index.php
<?php
require_once('Smarty/libs/Smarty.class.php');

class Headline{
public $oSmarty;
public function __construct($oSmarty){$this->oSmarty=$oSmarty;}
public function get_data(){$this->oSmarty->assign("test","テスト");}
}

$oSmarty=new Smarty();
$oSmarty->template_dir='./templates/';
$oSmarty->compile_dir='./templates_c/';
$oSmarty->display('test.tpl');
?>
--test.tpl
test
{php}$oHeadline=new Headline($oSmarty);$oHeadline->get_data();{/php}
{$test}
0749nobodyさん2007/01/18(木) 18:59:08ID:???
>>747
{ldelim}hoge{rdelim}
マニュアル嫁よ
0750nobodyさん2007/01/18(木) 19:06:24ID:???
>>748
> {php}$oHeadline=new Headline($oSmarty);$oHeadline->get_data();{/php}

new Headline($GLOBALS['oSmaert']);
ってするとどうだろう。
0751nobodyさん2007/01/18(木) 19:18:16ID:???
>>749

それ、Smartyの話じゃ…。
0752nobodyさん2007/01/18(木) 19:44:35ID:???
>>742
なるへそ。さんくし。
データの取得に失敗した場合に備えて、そうしようとしただけなんだに
07537482007/01/18(木) 20:03:22ID:???
>>750
出来ました!
本当にありがとうございました。
0754nobodyさん2007/01/18(木) 20:25:33ID:???
>>751
すまん...orz
07557432007/01/18(木) 20:33:24ID:???
>>754

でも、まぁ意味はそういうことです。
Smartyでいうところのそれに当たるものが、HTML_Template_Flexyでありませんか?
ってのが聞きたかったんです。
なんか無さそうな雰囲気ですね…。
0756nobodyさん2007/01/18(木) 20:59:51ID:oKlCOyd1
{smarty_header http_equiv="Content-Type" content="text/html"}
<?xml version="1.0" encoding="EUC-JP"?>

このように、XML宣言の前に関数を使うと、XML宣言の前に
空行が出力されてしまいます。これはXHTMLにおいて致命的な文法エラーになってしまいます。

smarty_header関数は header() でHTTPヘッダを出力するだけだし、
プラグインファイルは終了タグの '?>' を省略しているので文字列は出力していないはずです。

コンパイルされたファイルを見てみたら以下のようになっていました。
<?php echo smarty_function_smarty_header(array('http_equiv' => "Content-Type",'content' => "text/html"), $this);?>

<?php echo '<?xml'; ?>
version="1.0" encoding="EUC-JP"<?php echo '?>'; ?>
07577412007/01/18(木) 21:21:15ID:???
やっぱりこんな複雑なことはできないのでしょうか??
お願いいたします
0758nobodyさん2007/01/18(木) 21:57:19ID:???
>>757

> {section name="val" loop=$data}
> {$hoge.$foo[val].name}
> {/section}

{$hoge[$foo[$val]].name}
でどぉだ。

>>749では完全に寝惚けてて、>>750でもtypoしているグダグダな状態なんで
イマイチ思いだせんのだが、これでダメならバッククォートを使ったりかどうかで
出来たはず。
0759nobodyさん2007/01/19(金) 00:36:20ID:???
>>755
多分無理だと思う。メソッドを介した方が早いんじゃない?

function p($flexyVar) { return "{". $flexyVar ."}"; }

{p(#hoge#)}
{p(#hoge.bar:h#)}

##の中に#だけはどうやっても書けないから、
メソッド呼び出しを書きたいならもう少し工夫が要るけどね。
0760nobodyさん2007/01/19(金) 02:12:14ID:???
>>756
header();ってどこに書いてもよかったような気がするんだけど
1行目と2行目を入れ替えるのはだめ?

だめなら改行せずにxml宣言も1行目に書くか{strip}{/strip}
stripが誤作動するならliteralで
0761nobodyさん2007/01/19(金) 17:36:16ID:???
>>756
smarty の仕様だね
>>760も書いているけど、改行せずに1行に書くようにしないとだめっぽい
0762nobodyさん2007/01/21(日) 17:04:32ID:???
smartyの出力のときに自動的にサニタイズさせるにはどうすればいいですか?
0763nobodyさん2007/01/21(日) 18:54:55ID:???
ttp://sunset.freespace.jp/smarty/SmartyManual_2-6-7J_html/variable.default.modifiers.html
この辺かな?
テンプレートそのものをサニタイズしたいのならちょっと仕掛けが必要かも
0764nobodyさん2007/01/21(日) 18:58:33ID:???
助かりました、ありがとうございます。早速やってみます
0765nobodyさん2007/01/21(日) 19:04:19ID:???
>>763
再度で申し訳ありませんが、foreachを使っているせいか
Warning: htmlentities() expects parameter 1 to be string, array given
となって表示されませんでした・・・。
{$hoge}と出しているところだけエスケープしたいのですが、そういう方法はあるんでしょうか?
0766nobodyさん2007/01/22(月) 01:04:33ID:???
default_modifiersは配列でもオブジェクトでも何でもかんでも適用しようとするからイマイチ使えない
Smartyにサニタイズさせたいのなら普通に修正子を指定するか、nodefaultsを使うか
ソースいじってdefault_modifiersの挙動を変えるかしかないと思う
0767nobodyさん2007/01/22(月) 08:35:06ID:???
>>766
文字列ならエスケープ、配列なら無視する修正子をつくって指定するのがいいかと。
0768nobodyさん2007/01/22(月) 09:02:22ID:???
そもそもテンプレートにある要素全てを
自動でHTMLエスケープするってのは良くないような
必要ないもんにまでかけちゃうし無駄なオーバーへッドにもなるし
0769nobodyさん2007/01/22(月) 13:06:55ID:???
>>766-768
皆さんありがとうございます。
とりあえず自分で修正子作ってやってみます。
ちなみにこういった方法は一般的ではないんでしょうか?
0770nobodyさん2007/01/22(月) 16:09:32ID:???
Smartyを最近勉強しはじめました。
凄く単純な事ですが、いろいろ調べたのですが、どうしても実現できなくて質問させていただきます。

テンプレートから外部テンプレートを組み込む時に、
{include file="/root/dir/html/templates/XXXX.tpl"}
といった感じに記述しますが、この中で、変数を使いたいのです。

"/root/dir/html/templates/"の部分を変数に変えて、ディレクトリ構造を一元化して管理したいのです。
PHPの構造でいうと、"{$base_dir}/XXXX.tpl"と言った感じで、
ディレクトリ構造が変わっても、ファイルを直接弄ることなく、変更できるようにしたいのですが、やり方がわかりません。

つまり、呼び出し元のPHPプログラムで設定ファイルを読み込み、テンプレートの保存されているディレクトリ構造を読み取り、
それをテンプレートファイルに渡して、その渡した値を元に外部テンプレートを呼び出すようにしたいのです。

これを実現するには、どのように記述したらよろしいのでしょうか?
0771nobodyさん2007/01/22(月) 16:18:33ID:???
すみません。書き忘れました。
ディレクトリ構造の値は配列で渡したいのです。

$dir['base']="/root/dir/html/templates";
$smarty->assign("dir",$dir);

と言った感じでわたして、テンプレートの中で

{include file="$dir['base']/XXXX.tpl"}

と言った感じで仕様したいのですが、上記のコードを書くと以下のエラーが出て使えませんでした。

Warning: Smarty error: unable to read resource: "Array['base']/header.tpl" in /xxx/yyy/html/libs/Smarty.class.php on line 1095

根本的な記述方法の間違いかもしれませんが、宜しくお願いいたします。
Apache2
PHP5
Smarty2.6.16
の環境で勉強しております。
0772nobodyさん2007/01/22(月) 17:04:54ID:???
dir.base
0773nobodyさん2007/01/22(月) 17:41:46ID:???
>>772
すみません。それでも同じエラーが出てしまいます。

dir.base
Warning: Smarty error: unable to read resource: "setting.base/header.tpl" in /xxx/yyy/html/libs/Smarty.class.php on line 1095

$dir.base
Warning: Smarty error: unable to read resource: "Array.base/header.tpl" in /xxx/yyy/html/libs/Smarty.class.php on line 1095
0774nobodyさん2007/01/22(月) 18:16:45ID:Eh2tk1di
>>773
{include file="`$dir.base'/xxxxx.tpl"}

`(バッククォート)で $dir.base をくくらないと、どこまでが変数か
Smarty が解釈できなくなっている
0775nobodyさん2007/01/22(月) 18:17:38ID:???
{include file="`$dir.base`/xxxxx.tpl"}
0776nobodyさん2007/01/22(月) 18:18:43ID:???
おっと、間違えた。
後ろが`になっていなった
>>775
が正解だな
0777nobodyさん2007/01/22(月) 18:19:08ID:???
>>774
ありがとうございます。
無事、実行できました。

いろんなサイトを見て回ったのですが、バッククォートのことは初めて知りました。
本当に勉強になりました。ありがとうございました。
0778nobodyさん2007/01/22(月) 18:20:06ID:???
>>775
>>776
わざわざ、お手間をとらせてしまいすみません。
本当にありがとうございます。
0779nobodyさん2007/01/22(月) 18:21:56ID:???
>>777
http://sky.freespace.jp/smarty/SmartyManual_2-6-7J_html/language.syntax.quotes.html
0780nobodyさん2007/01/22(月) 18:26:12ID:???
>>779
すみません。。。お返しする言葉もございません。
そのマニュアルも一応目を通したつもりでいたんですが、、、

日々精進していきます。
0781nobodyさん2007/01/23(火) 13:44:19ID:???
なんかくだらねぇ質問スレでやたらSmartyを押している奴がいるから、
このスレにPHPのイロハも知らないバカが押し寄せてくる悪寒が…
0782nobodyさん2007/01/23(火) 21:29:12ID:???
(略
0783nobodyさん2007/01/25(木) 04:27:39ID:???
デザイナーがSmartyのtplを大量に作り上げてくれたんですが、
こういう場合でフォーム系のタグに変数埋める作業でもやはりシコシコと手作業するしかないんでしょうか。
宜しくお願い致します。
0784nobodyさん2007/01/25(木) 10:19:51ID:???
>>783
スクリプト書いて一括処理。
0785nobodyさん2007/01/25(木) 12:16:15ID:???
>>783
You, Flexy 使っちゃいなよ。
0786nobodyさん2007/01/26(金) 20:07:41ID:???
smartyで
{$hoge[$foo->getId()]}
とやると
syntax error: unrecognized tag:
が出るのですが,このようにやりたい場合はどうすればいいでしょうか?
0787nobodyさん2007/01/26(金) 20:10:51ID:iZlZkVla
お願いします
0788nobodyさん2007/01/27(土) 10:35:51ID:e0oRsoDR
idをassignしちゃえば?
まんどくせえけど
0789nobodyさん2007/02/02(金) 12:06:02ID:???
>>770と全く同じことで悩んでました
バックスラッシュは試したんだけど $`hogehoge`と囲ってたのでエラーでした
まさか`$hogehoge`とするとは… PHPでは${hogehoge}なのに…

>>770とそれに回答していただいた皆さんに感謝です
07907892007/02/02(金) 12:16:25ID:???
×バックスラッシュ
○バッククォート

…なんて勘違いを…アホですいません
0791nobodyさん2007/02/02(金) 15:29:41ID:???
smartyでswitch文って使えないんですか?
0792nobodyさん2007/02/02(金) 22:13:51ID:???
{if}{elseif}でつなげばええんちゃうん。
0793nobodyさん2007/02/02(金) 22:30:25ID:???
プラグイン書けば使える
PHPのコードをベタ書きすれば使える

なるべくロジックをテンプレートに入れないように
処理を変える方がいいと思うけどな
0794nobodyさん2007/02/02(金) 22:38:39ID:???
うむ、テンプレート側でにswitchがどうしてもないと困るような状況なら
それはロジック側や構成を見直した方が良いっていう警告
0795nobodyさん2007/02/02(金) 22:42:07ID:???
じゃあユーザ種別で表示するメニューを変更させる場合は、どこで分岐するのがいいんでしょうか?
0796nobodyさん2007/02/02(金) 23:07:42ID:???
そのユーザ種別であらかじめメニュー部分の
テンプレートパーツ名を決めて、メインのレイアウトテンプレートから
includeするファイルを変えるとか色々方法あるんじゃない?
0797nobodyさん2007/02/03(土) 01:08:18ID:???
ユーザ種別メニューアイテムをコントローラから押し込むか、
モデルから引っ張ってくるかのどちらかじゃね。
ビューで切り替えるもんじゃないような気がするが。
0798nobodyさん2007/02/06(火) 20:28:11ID:adz0uOuq
質問です。phpBB2が使用しているフレームワークってなんていうフレームワークなんでしょうか?
いま、phpBBのソースコードを解読・勉強していて疑問になりました。
0799nobodyさん2007/02/08(木) 13:37:11ID:???
>>798
独自じゃないの

ネタとしてはスレ違いだよ
0800nobodyさん2007/02/15(木) 19:29:02ID:t/XW6gI0
smartyでの演算時に、計算を優先する括弧ってどう書けばいいのかな?

(3 + 2) * 5

みたいな感じなんだけど。
0801nobodyさん2007/02/15(木) 20:54:32ID:???
`(3 + 2) * 5`でできない?
0802nobodyさん2007/02/16(金) 10:58:20ID:qBGQeHi7
>>801

それがうまくいかないんですよね。

{if '($smarty.foreach.loopname.iteration-9)%3'==0}

こんな感じで処理を行いたいんのですが。
■ このスレッドは過去ログ倉庫に格納されています