こんにちは。先日入社しましたmiyakeと申します。新入りです。 今日はSmartyでRuby on Rails的なレイアウトテンプレート機能を実現するTipsをご紹介します。 まず、そもそもRailsのレイアウトテンプレートとはどんな物なのか、簡単に解説します。 Smartyに限らず、何らかのテンプレートエンジンでページを出力する場合、ヘッダやフッタといった共通部分を別ファイルに切り分けるというのはよくあるアプローチです。 この場合、そのページのテンプレートファイルに加えて、ヘッダとフッタのテンプレートを別途用意します。 これに対して、レイアウトテンプレートはそのページのテンプレートと「土台になるテンプレート(=レイアウトテンプレート)」でページを出力します。 実際のHTMLに照らし合わせて図にすると、こんなイメージです。 レイアウトテンプレートのイメージ posted by (C)フォ
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
QuickFormのdisplay関数で出力したフォームはお世辞にもデザイン的に優れているとはいえません。 そこで、デザイン部分をSmartyに担当させQuickFormとSmartyを連携させたいと思います。 <html> <head> <title>QuickForm サンプル</title> </head> <body> <?php require_once 'HTML/QuickForm.php'; require_once 'HTML/QuickForm/Renderer/ArraySmarty.php'; require_once 'Smarty.class.php'; $objQF = new HTML_QuickForm('frmQF', 'get'); $defaultValue = array('txtNAME'=>'bnote','rdoSEX'=>'男'); $ob
こんにちは、はまっちです! お盆休みは北海道に行っていました。 ちょうど涼しくなる時期だったらしく、絶好の避暑日和を満喫してきました! さて、前回はSmarty修飾詞とプラグインの話をしましたが、 実はプラグインを作成したのは記事を書いた時が初めてでした。 とても便利だったので個人的にまとめてみました。 ■Smartyマニュアル – プラグインによる Smarty の拡張 http://www.smarty.net/manual/ja/plugins.php プラグインの拡張方法 以下はプラグインの命名規則です。 [プラグインのタイプ].[任意の文字列].php この記述通りにファイル名を付け、関数を定義し読み込ませることで、Smartyにプラグインとして認識されます。 サンプルとして前回記述したプラグインを例に出しますと、 modifier.date_week_format.php この
id: 41 所有者: msakamoto-sf 作成日: 2005-06-15 21:22:14 カテゴリ: PHP [ Prev ] [ Next ] [ PHP ] 高機能なPHPテンプレートHTMLエンジン、Smartyについての2005年6月当時のメモです。当時はバージョンが2.6.6とかその辺を使ってました。2008年12月現在、大分マイナーバージョンが上がっていますが、基本的な使い方やセキュリティ面でのTipsは今でも役に立つと思います。 公式サイト: http://www.smarty.net/ 公式日本語マニュアル: http://www.smarty.net/manual/ja/ インストールやマニュアル、使い方 Tips, ノウハウ, ハウツーSmartyのタグをデフォルトの"{"から変更するには テンプレートHTMLをデータベースから読み出すには セキュリティ上の問
Smartyの使い方について相談です。 私はSmartyに反映させるテンプレートをデータベース(MySQL)に保存し、 テンプレートのソースを変数に入れて出力しています。 簡単な例です: $sql = "SELECT * FROM template"; $res = mysql_query($sql); $row = mysql_fetch_array($res); $body_var = $row["body"]; $body = $Smarty->fetch("var:body_var"); echo $body; これでデータベースに保存していたテンプレートは出力されますし、その中にSmarty用のタグを埋め込めば反映できます。 しかし、こういう使い方の場合「template_dir」や「compile_dir」というテンプレートを保存するフォルダが必要ありません。 しかし、これらの
ちょっと、IRCで話題になったので作成してみました。 Ethnaのテンプレートに DB内に入っているリソースを使用する方法についてです。 DB内に格納されているデータを、テンプレートとして使用する方法として、Smartyのリソースプラグインを使用するのがお手軽でいいかと思います。 http://www.smarty.net/manual/ja/plugins.resources.php サンプルとして、sampleというアプリケーションIDで作成してみます。 まずは、環境作成 ethna.shは、Ethna本体をインストールせずに使用するためです。 Smartyは、あらかじめ、パスの通してある箇所に展開済みとします。 $ mkdir sample $ cd sample $ svn export http://svn.sourceforge.jp/svnroot/ethna/ethna/t
Table of Contents 序文 I. はじめに 1. Smarty とは? 2. インストール 必要条件 基本的なインストール 拡張セットアップ II. テンプレートデザイナのための Smarty 3. 基本構文 コメント 変数 関数 属性 ダブルクォート内に埋め込まれた変数 演算子 Smarty の構文解析を回避する 4. 変数 PHP から割り当てられた変数 連想配列 配列のインデックス オブジェクト 設定ファイルから読み込まれた変数 予約変数 {$smarty} リクエスト変数 {$smarty.now} {$smarty.const} {$smarty.capture} {$smarty.config} {$smarty.section}、{$smarty.foreach} {$smarty.template} {$smarty.version} {$smarty.lde
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く