skinny

in_gl_A

Skinny 呼び出しマニュアル

SkinnyFetchHTML - 展開した内容を取得する

連想配列の内容を指定されたテンプレートファイルを使って展開し、その結果を文字列として返します。
SkinnyDisplayはこの内容をechoしています。

説明

書式

$Skinny->SkinnyFetchHTML( 'template-filename' , $out , [template-code] )

パラメータ

template-filename : 使用するテンプレートファイル名
$out : テンプレートに渡す連想配列名
template-code   : テンプレートのコード内容を直接渡す場合は第三引数で渡します。
         (template-filename の指定は無視され、template-code の内容が使用されます)
         ※動的にテンプレートそのものを生成した場合などに利用してください。

戻り値

string : $outを展開したテンプレート内容の文字列

サンプル(CSVファイルを作成しファイルに保存する)

PHPコード

<?php
    include_once( "Skinny.php" );
    $out = array();
    
    $out['list'][] = array('age'=>'20', 'name'=>'雷電太郎' );
    $out['list'][] = array('age'=>'24', 'name'=>'佐藤一郎' );
    $out['list'][] = array('age'=>'21', 'name'=>'田中裕子' );
    $out['list'][] = array('age'=>'26', 'name'=>'鈴木雄二' );
    $out['count'] = count( $out['list'] );
    
    // CSV用のテンプレートにデータを渡して結果を得る
    $csvdata = $Skinny->SkinnyFetchHTML( "csv_sample.tpl", $out );
    file_put_contents( "user_data.csv", $csvdata );
    
    // 結果をHTMLテンプレートで出力する
    $Skinny->SkinnyDisplay( "sample.html", $out );
?>

CSV用テンプレート(csv_sample.tpl

年齢,名前
<% def(list) %>
<% each(list) %>
'<% echo(list/age) %>','<% echo(list/name) %>'
<% /each %>
<% /def %>

HTML用テンプレート(sample.html

<% if(count,==,0) %>
  該当者が居ませんでした。<br />
<% else %>
  下記 <% echo(count) %>人のデータをCSVファイルに書き出しました。<br />
<% /if %>

<table>
  <tr>
    <th>年齢</th>
    <th>名前</th>
  </tr>
<% def(list) %>
<% each(list) %>
    <tr>
      <td><% echo(list/age) %></td>
      <td><% echo(list/name) %></td>
    </tr>
<% /each %>
<% elsedef %>
    <tr>
      <td colspan="2">データがありません</td>
    </tr>
<% /def %>
</table>

結果

保存したCSVファイルの内容(user_data.csv

年齢,名前
'20','雷電太郎'
'24','佐藤一郎'
'21','田中裕子'
'26','鈴木雄二'

ブラウザ結果

下記 4人のデータをCSVファイルに書き出しました。

年齢 名前
20 雷電太郎
24 佐藤一郎
21 田中裕子
26 鈴木雄二

btn_pagetop