トップ  > メモ一覧  > カテゴリ「smarty」の絞り込み結果 : 18件

18件中 1 〜 10 表示  1 | 2  次の8件> 最後»

No.3935 日付形式を RFC 2822

$row.updated_at|date_format:"%a, %d %b %Y %H:%M:%S %z"
更新:2011/07/23 23:00 カテゴリ: PHP  > smarty ▲トップ

No.3615 テンプレート内での変数のセット

{assign var="i" value=0}
更新:2011/04/29 12:20 カテゴリ: PHP  > smarty ▲トップ

No.2253 smarty:urlencode

{$url|escape:'url'}
{$url|urlencode}

更新:2010/04/08 16:24 カテゴリ: PHP  > smarty ▲トップ

No.1199 キャプチャ

==変数にセット==
({capture name="friend_list"})
キャプチャする内容
({/capture})

==出力==
({$smarty.capture.friend_list|smarty:nodefaults})


引用元

↑OpenPNE2での場合
更新:2009/07/22 11:19 カテゴリ: PHP  > smarty ▲トップ

No.1061 strip:一行で出力

{strip}

Webデザイナーの方は、HTML コードに含まれたホワイトスペースとキャリッジリターンが ブラウザの表示に影響を及ぼす問題に何度も遭遇した事があると思います。 問題を回避するには、テンプレートの全てのタグを連ねて記述する必要があります。 しかしこれでは大変読みづらく管理しにくいテンプレートになってしまいます。

{strip}{/strip} タグに囲まれたコンテンツは、 ブラウザに表示される前に、各行の先頭と終端にある 余分なホワイトスペースやキャリッジリターンが除去されます。 これによってテンプレートは可読性を維持し、 余分なホワイトスペースによって問題を引き起こす心配もありません。

注意: {strip}{/strip} はテンプレート変数の内容に影響しません。 詳細は strip 修飾子 を参照してください。

例 7-44. {strip} タグ

{* 次の例は全て1行に出力されます  *}
{strip}
<table border='0'>
 <tr>
  <td>
   <a href="{$url}">
    <font color="red">This is a test</font>
   </a>
  </td>
 </tr>
</table>
{/strip}

上の例の出力

<table border='0'><tr><td><a href="http://. snipped...</a></td></tr></table>

上記の例は、全ての行が HTML タグで始まり HTML タグで終わる事に注意して下さい。 全ての行は連ねて出力されます。行の始めか終わりにプレーンテキストがある場合は、 連続して出力されたその結果は望むものではないかもしれません。

strip 修飾子も参照してください。

更新:2009/06/18 14:14 カテゴリ: PHP  > smarty ▲トップ

No.1037 OpenPNEにおけるsmartyの文字変換の詳細

({$name|mb_convert_encoding:'sjis'|mb_convert_encoding:'sjis'|urlencode})の場合

$name

$name = mb_convert_encoding($name, 'sjis')

$name = urlencode($name);

$name = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
  ※smarty_modifier_t_escapeでかかる

smarty_modifier_t_escape ⇒ htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
※「|smarty:nodefaults」を付けるとかからない

※ var/templates_s/~~~ で見るとよい
更新:2009/06/10 22:38 カテゴリ: PHP  > smarty ▲トップ

No.997 smartyを便利に使う

 
◆ 基本的な記述 ◆
<?php
require_once(SMARTY_DIR . 'Smarty.class.php');

$smarty = new Smarty();

$smarty->template_dir = '../templates/';
$smarty->compile_dir  = '../templates_c/';
$smarty->config_dir   = '../configs/';
$smarty->cache_dir    = '../cache/';

$smarty->assign('name','Ned');

//** 次の行のコメントをはずすと、デバッギングコンソールを表示します
//$smarty->debugging = true;

$smarty->display('index.tpl');
?>
- assign() -- テンプレートに値を割り当てます。
- display() -- テンプレートを表示します。
- $debugging-- デバッギングコンソール を有効にします。(javascript のポップアップウィンドウで通知)

テンプレート内
◆ コメント ◆
{* これはコメントです *}

◆ 他のテンプレートをインクルード(変数も渡せる) ◆
{include file="common/header.html" links=$link_array}


変数 や カスタム関数 や文字列を修飾して出力することができます。
修飾子を適用するには、 変数名の後に | (パイプ) と修飾子の名前を指定します。
追加のパラメータは修飾子の後に続き、: (コロン) によって区切られます。
各修飾子は、| (パイプ) キャラクタで連結でき、左から順に適用されます。
例:
{$email|default:'No email address available'}
$emailが空であるか設定されていない場合に、デフォルト値として'No email address available'が
表示されるようになります。
例:
<a href="http://foo.bar.jp?name={$tag|mb_convert_encoding:'sjis'|urlencode}">
$tagにたいしてmb_convert_encodingでsjisに変換したのち、urlencodeされた$tagが出力される。

◆ 条件分岐 ◆
{if $name eq 'Fred'}
    {* 処理1 *}
{elseif $name eq 'Fred' or $name eq 'Wilma'}
    {* 処理2 *}
{elseif is_array($name) }
    {* 処理3 *}
{else}
    {* 処理4 *}
{/if}

◆ データの配列 をループ(複数可) ◆
<?php
$id = array(1001,1002,1003);
$smarty->assign('custid',$id);

$fullnames = array('John Smith','Jack Jones','Jane Munson');
$smarty->assign('name',$fullnames);

$addr = array('253 Abbey road', '417 Mulberry ln', '5605 apple st');
$smarty->assign('address',$addr);
?> 
loop 変数は、ループの回数を決定するためにのみ使用します。 {section} 内ではあらゆるテンプレート変数にアクセス可能です。
{section name=customer loop=$custid}
<p>
  id: {$custid[customer]}<br  />
  name: {$name[customer]}<br  />
  address: {$address[customer]}
</p>
{sectionelse}
  <p>No items found</p>
{/section}

◆ 連想配列 をループ(1つの連想配列のみ) ◆
・PHPソース
<?php
$items_list = array(23 => array('no' => 2456, 'label' => 'Salad'),
                    96 => array('no' => 4889, 'label' => 'Cream')
                    );
$smarty->assign('items', $items_list);
?>
・テンプレート
{foreach from=$items key=myId item=i}
    <li>【{$myId}】No:{$i.no} Label:{$i.label}</li>
{/foreach}

◆ DBのクエリの結果を Smarty に割り当て ◆
結果がない場合に、{foreachelse} を使用して "見つかりません" と表示するテンプレート
・PHPソース
<?php
  $search_condition = "where name like '$foo%' ";
  $sql = 'select contact_id, name, nick from contacts '.$search_condition.' order by name';
  $smarty->assign('results', $db->getAssoc($sql) );
?> 
・テンプレート

引用元

更新:2009/06/05 10:12 カテゴリ: PHP  > smarty ▲トップ

No.690 テンプレート内の日付の表示

例えばコピーライトを毎年自動更新


Copyright 2009 uzura Entertainment Corporation

Copyright {$smarty.now|date_format:"%Y"} uzura Entertainment Corporation


Smartyを使った日付表示(予約変数)

Smartyには、用意されたいくつかの変数があります。
そのひとつnowを使用してみます。
$smarty.nowは、現在のタイムスタンプを返します。実際の使用では、表示フォーマットと一緒に使用します。

{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

date_formatの指定

%a 現在のロケールに基づく短縮された曜日の名前
%A 現在のロケールに基づく完全な曜日の名前
%b 現在のロケールに基づく短縮された月の名前
%B full month name according to the current locale
%c 現在のロケールに基づく適当な日付と時間の表現
%C 世紀(年を100で割り、整数に丸めたもの。00から99)
%d 日付を10進数で。(01から31)
%D %m/%d/%yと同じ
%e 月単位の日付を10進数で表したもの。日付が1桁の場合は、前に空白を一つ付けます。(' 1'から'31')
%h %bと同じ。
%H 時間を24時間表示の10進数で(00から23まで)
%I 時間を12時間表示の10進数で(01から12までの範囲)
%j 年間での日付を10進数で表現 (001から366)
%m 月を10進数で表現 (01から12)
%M 分を10進数で表現
%n 改行文字
%p 指定した時間により `am' または `pm' 、または 現在のロケールに対応した文字列
%r a.m.およびp.m.表記で表した時間
%R 24時間表記で表した時間
%t タブ文字
%T 現在の時間。%H:%M:%Sに等しい。
%u 10進数表記の曜日で1?7の範囲。1が月曜日。
%U 年間で何番目の週であるかを 10 進数で表現。年間で最初の日曜を最初の週の最初の日として数えます。
%V ISO 8601:1988で規定された現在の年の週番号の10進数表現で 01から53までの範囲となります。
1は最初の週でその週は現在の年に 最低4日はあります。週は月曜日から始まります。
%W 現在の年で何番目の週であるかを10進数で表現。
年間で最初の月曜を最初の週の最初の日として数えます。
%w 曜日を10進数で表現。日曜は0になります。
%x 時間を除いた日付を現在のロケールに基づき表現します。
%X 日付を除いた時間を現在のロケールに基づき表現します。
%y 世紀の部分を除いた年を10進数として表現。(00から99までの範囲)
%Y 世紀を含む年を10進数で表現
%Z タイムゾーンまたはその名前または短縮形
%% 文字リテラル`%'

この予約変数のうちで最も使いそうなのがnowです。
これ以外の予約変数もあげておきます。

const PHP定数の値に直接アクセス出来ます。
capture {capture}..{/capture}によってテンプレートの出力を受けた変数。
config 読み込まれたコンフィグ変数を参照するのに使用出来ます。
template この変数には処理されている現在のテンプレートの名前が含まれます。
version この変数にはテンプレートのコンパイルに使用されたSmartyのバージョンが含まれます。
ldelim この変数は左デリミタをそのまま表示するために使用されます。
rdelim この変数は右デリミタをそのまま表示するために使用されます。

更新:2009/05/20 22:16 カテゴリ: PHP  > smarty ▲トップ

No.883【引用】SmartyのテンプレートにJavascriptを記述する

解決方法はSmartyのサイト内のマニュアルに記載されているのですが、{}を処理すべき箇所と判断させない為に下記のように {literal}で囲め ばよいのです。

view plain copy to clipboard print ?

{literal}  
<script type= "text/javascript" >  
var  gaJsHost = (( "https:"  == document.location.protocol) ?  "https://ssl."  :  "http://www.&qu...

引用元

更新:2009/05/09 23:17 カテゴリ: PHP  > smarty ▲トップ

No.772 テンプレート内の変数をまとめてサニタイズ

$default_modifiers に設定すると
「|」を使わなくても使われるようになる

やりたくないときは nodefault

基本思想:ホワイトリスト
更新:2009/04/05 19:24 カテゴリ: PHP  > smarty ▲トップ
18件中 1 〜 10 表示  1 | 2  次の8件> 最後»

FuelPHP

Mac

web開発

プロマネ

マネタイズ

プレゼン

webサービス運用

webサービス

Linux

サーバ管理

MySQL

ソース・開発

svn・git

PHP

HTML・CSS

JavaScript

ツール, ライブラリ

ビジネス

テンプレート

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0