サイトカレンダをスキップ

«
2017年 10月
»
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

-

ログイン

ログイン

QRコード

QR code


 掲示板目次 > Magento全般 > カスタマイズ質問 新規投稿 返信投稿
 Transactional Emailでhtmlspecialcharsを使う方法
 
hogehoge
 2009年3月13日 16:18 JST (参照数 23644回)  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2009年3月13日
投稿数: 10
はじめまして。

タイトルの方法を知りたいのですが、分かる方いますか?

admin panelでテンプレートのコンテンツ編集するときに
一例として
{{var order.getCustomerName()}}
注文確認メールにある、ユーザー名部分なんですけど、
これをそのまま出力じゃなくて、エスケープして出力したいわけです。

※本来は氏名とか記号弾くべきですが、そこはひとまず置いといて。
※htmlメールじゃなくてtextメールにすればというのもひとまず置いといて。

別途block作成して{{block type=""}}でやるのがmagento的な感じでしょうか。。
ただ、この形式でblockに変数渡す方法がまだ分かっていません。。

スマートな方法あったらご教授お願いします。




 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2009年3月14日 01:40 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
rackです。

このテンプレートってZend FrameworkのFilterとかTokenizerとか使ってますね。
一筋縄ではエスケープは難しいかも・・・。

BlockオブジェクトとかHelperオブジェクトを継承してればhtmlEscapeメソッドが使えますが、普通の変数はそうじゃないのでスマートな方法はすぐには思いつかないです。



Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
hogehoge
 2009年3月16日 13:13 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2009年3月13日
投稿数: 10
コメントありっす。

やっぱ一筋縄じゃいかないですよねぇ。。

理想はhtmlメールでもtextメールでも記述は同じで
{{var order.getCustomerName()}}
textメールのときはエスケープなし、htmlメールのときはエスケープって感じなんですけど。
かなりしんどいので、

とりあえず
design/frontend/default/default/template/email/escape.phtml
PHP Formatted Code
<?php
echo $this->htmlEscape($this->getText());
 

を作って

呼び出し側(テンプレート)を
PHP Formatted Code
{{block type='core/template' area='frontend' template="email/escape.phtml" text=$order.getCustomerName()}}

こうする。

面倒だから上記対策でいいやと投げやり気味に><。


今バージョン1.1.8ベースで弄ってるんですが、
テンプレートをプレーンテキストにしても、blockで出力される部分ってタグ除去されないんですね。。
1.2.*で改善されてたりするのでしょうか??

 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2009年3月17日 00:33 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
rackです。

うーん、なんだか確かに面倒くさいですね・・・。

今バージョン1.1.8ベースで弄ってるんですが、
テンプレートをプレーンテキストにしても、blockで出力される部分ってタグ除去されないんですね。。
1.2.*で改善されてたりするのでしょうか??


いやあ、1.2.xで試しましたが同じですね。
要望が本家にないか見てみます。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
内容生成: 3.16 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
ゲストユーザ投稿可能 
HTML許可 
バッドワードをチェック