質問 > 管理機能 > 注文確認メールに年齢表示 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
GonGon |
投稿日時: 2013/6/5 15:03
対応状況: −−−
|
常連 登録日: 2008/7/10 居住地: 東京都 投稿: 64 |
注文確認メールに年齢表示 注文確認メールに年齢表示をしたいのですが、
下記を参考に生年月日の表示までは出来たのですが年齢がうまく表示されません。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=12322&forum=10 order_mail.tplに下記を追加したのですが、エラーになってしまいます。 年齢:<!--{(int)date('Ymd')-$arrOrder.order_birth|escape|strtotime|date_format:"%Y%m%d"/10000}--> ご教示の程、よろしくお願いいたします。 |
cohki |
投稿日時: 2013/6/5 15:56
対応状況: −−−
|
一人前 登録日: 2013/4/15 居住地: 投稿: 133 |
Re: 注文確認メールに年齢表示 エラーはどのようになっていますでしょうか。
また、Smartyのエラーログではあまりロジカルな構文を書くと分析しづらいので、 一旦php側で年齢計算されて出力してみてはいかがでしょう。 |
red |
投稿日時: 2013/6/5 16:23
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 注文確認メールに年齢表示 smartyで計算をする場合はmathを使わないとダメじゃないかと思います
http://www.smarty.net/docsv2/ja/language.function.math.tpl また(int) date() のような書き方はsmartyでは出来ませんのでどうしてもテンプレート上でやりたい場合は <!--{php}--> ここにphpを書く <!--{/php}--> で解決したほうがいいんじゃないかと
|
GonGon |
投稿日時: 2013/6/5 20:29
対応状況: −−−
|
常連 登録日: 2008/7/10 居住地: 東京都 投稿: 64 |
Re: 注文確認メールに年齢表示 ご指摘ありがとうございます。
PHPにて記載することにしたのですが、下記内容でエラーが出てしまいます。 <!--{php}--> $now = date('Ymd'); $birth = $arrOrder.order_birth|escape|strtotime|date_format:"%Y%m%d"; print floor(($now-$birth)/10000) . "才"; <!--{/php}--> 下記の方法だとうまく表示されるので、 $birth = $arrOrder.order_birth|escape|strtotime|date_format:"%Y%m%d"; 部分がおかしいとは思うのですが、再度ご教示頂けないでしょうか。 <!--{php}--> $now = date('Ymd'); $birth = "19700101"; print floor(($now-$birth)/10000) . "才"; <!--{/php}--> よろしくお願いいたします。 EC-CUBEバージョン 2.11.5 PHPバージョン PHP 5.3.10 DBバージョン MySQL 5.5.21 |
bratech |
投稿日時: 2013/6/5 23:23
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: 注文確認メールに年齢表示 SmartyとPHPの記述がごちゃまぜ状態になってしまっていますね。
引用:
PHPの記述方法では
こんな感じになります。 年齢の求め方が正しいかどうかまでは確認していないので何ともいえません。 ご参考まで。
|
GonGon |
投稿日時: 2013/6/6 0:11
対応状況: −−−
|
常連 登録日: 2008/7/10 居住地: 東京都 投稿: 64 |
Re: 注文確認メールに年齢表示 bratech さん
ありがとうございます。 お教え頂いた方法に変更したところ、エラーは出なくなりました。 しかしながら、
の返り値が、登録の生年月日とは関係なく19700101になってしまいます。 度々で恐縮なのですが、対処方法をご教示頂けないでしょうか。 どうぞよろしくお願いいたします。 |
bratech |
投稿日時: 2013/6/6 1:02
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: 注文確認メールに年齢表示 おそらく
$arrOrder['order_birth'] この部分に値が入っていないのだと思います。 <!--{php}-->を使用して記述するのであれば まずは$arrOrderを使用できるようにしないとダメなのではないでしょうか。 その方法が分からないという場合は cohki様やred様がご提案されているようにphp側で処理するか smartyを使用するならmathを利用するのが良いかと思います。
|
GonGon |
投稿日時: 2013/6/10 23:02
対応状況: −−−
|
常連 登録日: 2008/7/10 居住地: 東京都 投稿: 64 |
Re: 注文確認メールに年齢表示 cohki 様
red 様 bratech 様 ありがとうございます。 mathを利用して無事年齢表示が出来ました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |