追加項目を次のようにして
参加人数,select,1,2,3,4,5,6,7,8,9,#人
料金,1000,size=6,prop=readonly,#円/人
eguide_confirm.html のテンプレートで計算させてみました。
置換のための文字列生成がかなりトリッキーですが、smarty のみで実現できました。
@@ -26,9 +26,17 @@
<{if !empty($form_continue)}>
<{$fm.value}></td></tr>
<{assign var=form_continue value=0}>
<{else}>
- <tr class="<{cycle values="even,odd"}>"><td class="head"><{$fm.label}></td><td><{$fm.value}></td></tr>
+ <{assign var=val value=$fm.value}>
+ <{if $fm.label == "参加人数"}>
+ <{assign var=persons value=$val}>
+ <{elseif $fm.label == "料金"}>
+ <{assign var=pattern value=$smarty.foreach.item.iteration|regex_replace:"/^(\d+)$/":"/( name='opt\$1' value=)'\d+'/"}>
+ <{assign var=val value=$fm.value*$persons}>
+ <{assign var=price value=$val|regex_replace:"/^(\d+)$/":'\$1"$1"'}>
+ <{/if}>
+ <tr class="<{cycle values="even,odd"}>"><td class="head"><{$fm.label}></td><td><{$val}></td></tr>
<{/if}>
<{/if}>
<{/foreach}>
</table>
@@ -42,11 +50,11 @@
</table>
<{/if}>
<{if $cancel}>
<table align="center">
- <tr><td><{$submit}></td><td><{$cancel}></td></tr>
+ <tr><td><{$submit|regex_replace:$pattern:$price}></td><td><{$cancel}></td></tr>
</table>
<{else}>
<{$submit}>
<{/if}>
</div>
</div>
--
安冨 伸浩 (マイサイト管理人)
安冨 伸浩 (マイサイト管理人)