タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Smartyに関するpateoのブックマーク (5)

  • smartyでextendしてみる。 - yabekenの日記

    smarty, rhaco | 01:12 | rhacoのテンプレートの中に継承という機構があるのですが、見てて欲しくなったのでsmartyで実装してみました。イメージとしてはこんなの。http://jigen.aruko.net/2007/10/14/rhaco-study-society/使い方は、サンプルみてもらった方が早いと思う。block型のプラグインです。href継承するテンプレートを指定tagブロック用のタグを指定します。デフォルトはblock多重継承もOK。Smarty構文も使える。継承されない際に表示されるデフォルト表示も指定できる。ブロックタグはレンダリング時に削除される。pregで置き換えてるので、確実にhogehogeと閉じてください。PHP5のみ ソースblock.extends.phpって言う名前でpluginsディレクトリに突っ込んでね><http://ww

  • Smarty研究(2)マルチバイト文字に対応した truncate 修飾子を作る | バシャログ。

    スマティスト(Smarty を使う人の意)のみなさま、こんにちは。 tanaka の Smarty 研究シリーズがいつまでたっても続いてくれないので勝手にやってみようと思います。 さて、北斗の拳には「息を吸うのも面倒で嫌だ」と言ったらケンシロウに息を吸えなくされてあえなく昇天してしまったゲイラさんというキャラクターがいますが、そいつに負けるとも劣らない程の面倒くさがりな僕こと kimoto です。 通常であれば、ライブラリを独自に拡張などは持ち前の面倒くさがり気質を発揮してやらないのですが、Smarty には「せっかく便利なので日語が通らない!」とか「せっかく便利なのに IE では意味をなさない!」などのもったいない修飾子や関数が存在します。 そこで、そのあたり、独自に関数を作ったり拡張したりして使っている物を何回かにわたりご紹介していこうと思います。 まずは、文字列を扱う修正子から。

    Smarty研究(2)マルチバイト文字に対応した truncate 修飾子を作る | バシャログ。
  • smarty研究(1) フォーム部品関数は隠し属性assignで使いやすく! | バシャログ。

    全国1万2000人のsmartyユーザーの皆様、こんにちは、tanakaです。 ことの始まりは、いつもとなりで、Webアプリケーションのなんたるかを熱弁してくれる先輩のkimotoとの会話でした。 社内技術サポートで忙しいkimoto html_checkboxes(チェックボックスを簡単に生成するsmartyの関数)っていまいち使いにくいんだよねー、要素と要素の間に自由に文字列置けないし 生意気な新人 tanaka _   ∩ ( ゚∀゚)彡 拡張!拡張! ⊂彡 smartyの入門書を読みかじっていてやたら理論だけはわかっているふりをしていた僕は、拡張の実装方法もしらないままに調子にのってしゃべっていました。 html_checkboxesの何が使いにくいのかというと、separatorにひとつの文字列しか指定できないことです。 つまり、以下のようなコードを書くとします。 test.ph

    smarty研究(1) フォーム部品関数は隠し属性assignで使いやすく! | バシャログ。
  • Smartyのアウトプットフィルタを使ってみる « kawama.jp

    ウェブサイト(UTF-8)の登録フォームを携帯端末(SJIS)にも対応させるのをやろうと思い、Smartyのアウトプットフィルタを使ってみた。 こんな感じ $smarty->register_outputfilter("filterSjis"); function filterSjis($buff, &$smarty) { return mb_convert_encoding($buff,"SJIS","UTF-8"); } プリフィルタとポストフィルタはテンプレートに記述されている文字列を変換するだけで、DBなどから動的に出力する文字列には効かない。アウトプットフィルタの場合はブラウザへ出力する直前のデータをフィルタしてくれる。 これで無事解決。。。。と思ったのだけれど、このままでは出力されるヘッダがUTF-8のままのため、文字化けが発生してしまう。さて、どうしたもんか、、、と思いつつG

  • SmartyでSJISのテンプレートを使う « kawama.jp

    「Smarty SJIS」でググるといくつか有益な情報が引っかかるので、それを見て簡単に対応できました。 もっとも、途中でSmartyとは1%も関係ないところでつまづいてしまって無駄に時間を使ってしまったのですが。。。 下記の例だと、plugins_dirにprefilter.pre01.phpとpostfilter.post01.phpのファイルを設置。autoload_filtersを使って自動でフィルタがかかるようにしています。 体 require("/path/to/smarty"); $smarty = new Smarty; $smarty->template_dir = "/path/to/template_dir"; $smarty->compile_dir = "/path/to/compile_dir"; $smarty->plugins_dir = "/path/t

  • 1