タグ

smartyに関するk_37toのブックマーク (13)

  • Zend Framework + QuickForm + Smarty - Enjoi Blog

    今まで mojavi 、 symfony と php のフレームワークを使ってきたわけだけど、今回 Zend Frameworkを使ってみて明らかに一番使い易かった(入りやすかった)ので、ちょっとそれについてまとめておこうかなと。 # Cake はソースコードを見た時点で使う気うせた。。 まあ zend がやってるってことで、少くてもやっておいて損は無いかと。とりあえず QuickForm と Smarty は手放せないので、その当たりを交えてうまいこと C-MVC を構築する方法のメモ。 環境 CentOS-5 php-5.1.6 Zend Framework-1.0.1 QuickForm2-1.4 Smarty-2.6.18 インストール apache やら php のインストールは各自 RPM パッケージ行う。 QuickFrom2 は pear パッケージなので、以下のコマンドで

  • CakePHPでSmartyのススメ - Webプログラマの苦悩

    =ここに掲載している記事およびソースコードは、2008/05/23に全面的に見直し、リライトしています。= まず、CakePHPやSymphonyといったPHPのフレームワークが普及していく中、フレームワークへのsmartyの組み込みについて様々な意見が飛び交い議論がなされているが、もう一度必要性について考えてみたい。 それに伴い、今回、smartyのCakePHPへの組み込み方法や、ソースコードを公開した。 デザイナーとプログラマーの分業について CakePHPでMVCとなっていてビューとロジックが分離されているとはいえ、それでもPHPのコードが入ったHTMLを嫌がるデザイナーは多い。 デザイナーのスキル向上も必要かと思うが、やはり、屋は屋だ。職に十分な力を注いでもうらうようにする為、なじみやすいAPIを提供し習得コストを減らして上げるという意識も必要だ。 各ページにおいて利用でき

  • CakePHP 完全 smarty 化 - $php→rails (rails に憧れる phper のブログ)

    donwload これは何? php フレームワーク CakePHP を smarty 対応したものです。 bake コマンドにより生成される html 及び、その書き出し元となる html テンプレートを smarty 化します。 もちろん、標準の bake コマンドや cake テンプレートとの併用も可能です。 更新履歴 20070702 cake_smarty_0.1.2.11 template を調整 20070619 cake_smarty 公開 (0.1.2.1) cake bake の代わりに cake burn を使うことで smarty テンプレートを書き出すことができます。 ケーキ焦げてます。 動作環境 今のところ cake_1.2.0.5146alpha.tar.gz でしか確認していません。 しかも windows 環境下でしか確認してません。 別途、以下ライブラリ

    CakePHP 完全 smarty 化 - $php→rails (rails に憧れる phper のブログ)
  • How to use Smarty with Cake (SmartyView) (Articles) | The Bakery, Everything CakePHP

    The SmartyView package sits here: http://cakeforge.org/snippet/detail.php?type=snippet&id=6 But without some significant baking-knowledge, new users may not know how to incorporte SmartyView. Here's how. Steps1. Download a version of SmartyView from here: http://cakeforge.org/snippet/detail.php?type=snippet&id=6 Save SmartyView as /(app)/views/smarty.php 2. Download Smartyhttp://smarty.ph

  • cakePHP で GROUP BY の壮絶バッドノウハウ ← Neo Inspiration

    いろいろなところで紹介されているように 普通に $condition の中にぶちこめばいけるんですが、 こんなかんじ $this->モデル->findAll( $conditions = “GROUP BY title”, $limit = “” ); 例えばINとか、LIKEとか使ってごりごりやっていくときって Array で $condition つっこむのでそれのやり方のお話 普通にやると $this->モデル->findAll( $conditions = array(‘Table.uid’ => Array , ‘GROUP BY Table.title’), $limit = “” ); こんなかんじで、Arrayの一つとして GROUP BY を渡せばいいと思うんですが、 これじゃうまくいきません。 なぜなら Array の要素はすべて AND でつなげてしまうから。 つまり

  • CakePHPでSmartyを利用する方法 - インストールメモ

    Smartyのダウンロード(2.6.12 で動作確認) こちらよりSmarty-2.*.**.tar.gzをダウンロード。 CakePHPの/vendorsに、smartyディレクトリを作成。 Smarty-2.*.**.tar.gzを解凍して、libs内のファイルを上で作成したsmartyディレクトリにコピー。 (/vendors/smarty/Smarty.classの様な構成になる。) /app/tmp/smarty/にSmartyの利用するcache、compileディレクトリを作成。 /app/tmp/smarty/cache/ /app/tmp/smarty/compile/ Smarty View class (Version 1.1で動作確認) こちらよりファイルをダウンロードしてsmarty.php にリネームして/app/views/ ディレクトリにコピー。

  • Geckoエンジンで長いURLとかを折り返し表示 - Lism.in * blog - nekoya (id:studio-m)

    Firefoxを始めとするGecko系ブラウザの有名かつ困ったバグとして、「長いメールアドレスやURLを折り返してくれない」というのがあります。まぁ、別にメアドやURLに限らないんですけど、Geckoが区切りを検出できないASCII文字列が折り返されないってやつです。 IEだと独自CSSだけど、word-break:allしてやれば解決です。Firefoxだとoverflow:hiddenにしたり、諦めて突き抜けさせてたんだけど、わりと最近になって解決法があることを知りました。忘れないようにというか忘れてたので、あらためてメモ。 答え:ところどころに<wbr />を入れてやる このwbr要素、(X)HTMLの正式な要素ではないのでDTDを見ても載ってません。元々はNetscape Navigator 2.0の独自拡張で、nobr内での改行候補を明示するためのものだったようです(参照: wb

    Geckoエンジンで長いURLとかを折り返し表示 - Lism.in * blog - nekoya (id:studio-m)
    k_37to
    k_37to 2007/10/27
    怪しげな感じがするけど、試す価値はあるかな
  • Smarty レイアウトテンプレート

    こんにちは。先日入社しましたmiyakeと申します。新入りです。 今日はSmartyでRuby on Rails的なレイアウトテンプレート機能を実現するTipsをご紹介します。 まず、そもそもRailsのレイアウトテンプレートとはどんな物なのか、簡単に解説します。 Smartyに限らず、何らかのテンプレートエンジンでページを出力する場合、ヘッダやフッタといった共通部分を別ファイルに切り分けるというのはよくあるアプローチです。 この場合、そのページのテンプレートファイルに加えて、ヘッダとフッタのテンプレートを別途用意します。 これに対して、レイアウトテンプレートはそのページのテンプレートと「土台になるテンプレート(=レイアウトテンプレート)」でページを出力します。 実際のHTMLに照らし合わせて図にすると、こんなイメージです。 レイアウトテンプレートのイメージ posted by (C)フォ

    k_37to
    k_37to 2007/06/18
    caputure使って同様の事してたけど、こっちのが便利かも
  • ダンプ用 Smarty プラグインで快適デバッグ

    Smartyでテンプレート変数のダンプを取りたい時、テンプレートに{debug}と書いたりしてデバッギングコンソールを表示するという手があります。ただ、別ウィンドウでいちいち開くのがウザかったり、不要な情報も表示されてしまったり、逆に必要な情報が途切れてしまったり、不便な時も多いです。 そこで、ダンプ用のプラグインを作るというのがわりとポピュラーな解決策になります。ちょっと今更感もありますが、せっかく手元にあるのでご紹介。 まずは、値をvar_dumpで出力するプラグイン。{var_dump var=$hoge} とかで呼び出します。<pre> でくくってるのでブラウザからも綺麗に見えます。また、{var_dump} のように引数を付けずに呼び出すと、全てのテンプレート変数をダンプしてくれます。 <?php /** * Smarty plugin {var_dump} * * usage:

    ダンプ用 Smarty プラグインで快適デバッグ
  • URLをリンクにするSmartyプラグイン

    テキスト中にURLが含まれている場合にそれをaタグで囲むSmartyプラグインです。 既にありそうなのですが見つけられなかったので作りました。よろしければどうぞ。 modifier.url_link.php <?php /* * Smarty plugin * URL to link * * @param string $value * @param string $target * @return string */ function smarty_modifier_url_link($value, $target = null) { $options = ""; if (!empty($target)) { $options = sprintf(" target=\"%s\"", $target); } $value = ereg_replace("&#91;&#91;:alpha:&

  • cl.pocari.org - Smarty を使った開発でデバッグを行う 4 つの方法

    Smarty を使った開発でデバッグを行う 4 つの方法 2006-11-29-1: [PHP][Books] PHP のテンプレートエンジン Smarty を使って開発するときに,割り当てた変数が複雑になって困ることはありませんか? その際,何らかの方法を使って割り当てた変数を確認するのですが,いくつか方法があります. 1. 常にデバッギングコンソールを表示する方法 おそらく一番有名な方法ですが,$debugging に true を指定して,常にデバッギングコンソールを表示する方法です. require_once 'Smarty.class.php'; $smarty = new Smarty; $smarty->debugging = true; これで,常にデバッギングコンソールが表示されます. デバッギングコンソールは,window.open() を使った JavaScript

  • ウノウラボ Unoh Labs: Smarty で gettext を使って国際化

    尾藤正人です。 ウノウでは海外公開を前提に事業を展開しているので、ほぼ例外なくプログラムは国際化されています。先日公開した Melovie もちゃんと国際化されていて、ブラウザの言語の設定を変えると英語で表示されます。 最近テンプレートエンジンで Smarty を使い始めたのですが、そのままでは gettext とうまく組み合わせることができないので、ウノウでは独自の仕組みを入れています。日語だと Smarty で gettext やってる情報が全然ないので、ウノウでやっている方法を紹介したいと思います。 Smarty で gettext を使うときの一番の問題点はメッセージの抽出です。Smarty は PHP とは文法が異なるので、そのままでは xgettext を使ってメッセージを抽出することができません。PHP 側で全てのメッセージを変数に代入するというのも一つの方法ですが、やはり

  • JavaScriptで動くテンプレートエンジン:JSmarty:phpspot開発日誌

    Thousand Years - JSmartyとは? JSmartyはJavaScriptで動くテンプレートエンジンです。PHPにSmartyっていうテンプレートエンジンがあります。それのぶっちゃけいってクローン(完全ではないですが…)になります。なので利用するメソッドやプロパティととかもそんままでSmartyのテンプレートがそんまま利用できます(たぶん)あと当然ながらプラグインとかも対応しています。 JavaScriptで動くテンプレートエンジン、JSmarty。 次のような使い方で、Smartyとほぼ同様に動作するそうです。 ■テンプレート'foo.tpl' {$foo} ■コード var render = new JSmarty; render.assign('foo','Hello World!!'); render.display('foo.tpl'); ■結果 Hello W

  • 1