2007-09-06 00:34:18

Template::Filters2.86のuri filterの問題

[ Template-Toolkit ]

TT2.15で問題なかったアプリケーションが2.19で不具合が出る。
調査するとURLエンコードがおかしなことになっていた。
Template::Filters が問題だった。
TTのMLに送った。

diff -urN Template-Toolkit-2.19/lib/Template/Filters.pm Template-Toolkit-2.19.new/lib/Template/Filters.pm
--- Template-Toolkit-2.19/lib/Template/Filters.pm    2007-04-28 02:56:05.000000000 +0900
+++ Template-Toolkit-2.19.new/lib/Template/Filters.pm    2007-09-04 09:55:09.000000000 +0900
@@ -270,7 +270,7 @@
         map { ( chr($_), sprintf("%%%02X", $_) ) } (0..255),
     };
 
-    if ($] >= 5.008) {
+    if ($] >= 5.008 and utf8::is_utf8($text)) {
         utf8::encode($text);
     }
    
@@ -295,7 +295,7 @@
         map { ( chr($_), sprintf("%%%02X", $_) ) } (0..255),
     };
 
-    if ($] >= 5.008) {
+    if ($] >= 5.008 and utf8::is_utf8($text)) {
         utf8::encode($text);
     }

2007-04-07 15:32:23

Cache::Memcached と DBIx::Class と TT

[ DBIx::Class ] [ Template-Toolkit ] [ Perl ]

"Cache::Memcached と DBIx::Class"の補足。
TT使用時にテンプレート上でDBIx::Classの belongs_to ,has_many 項目は呼び出せない。
理由は上に同じで、キャッシュされていないから。

2007-01-04 12:34:45

コメントの#

[ Template-Toolkit ]

# の位置でコメント範囲が変わる。

# から行末までがコメント。(hogehogeのみコメント)
判りにくいので使用禁止。
[% #hogehoge
 obj.str
%]

ブロック全体がコメント。
こちらのみ使用推奨。
[%# hogehoge
 fuga
%]

2007-01-02 20:20:04

便利なPlugin

[ Template-Toolkit ]

指定文字数以降を省略
Template::Plugin::TruncateJp

HTMLタグの除去
Template::Plugin::Filter::HTMLScrubber

URLにリンクをはる
Template::Plugin::Clickable