...

Smartyを利用した サイト構築事例の紹介 (株式会社びぎねっと) 目次

by user

on
Category: Documents
17

views

Report

Comments

Transcript

Smartyを利用した サイト構築事例の紹介 (株式会社びぎねっと) 目次
Smartyを利用した
サイト構築事例の紹介
(株式会社びぎねっと)
元 株式会社びぎねっと
大川英敏
2003/08/30 PHPカンファレンス2003
目次
n
びぎねっとWebページ概要
n
サイト構築要件
n
リクエスト処理の流れ
n
サイト構築作業フェーズ
n
エピソード(?)
1
びぎねっとWebページ概要
ユーザー
管理者
Dreamweaver
編集
ニュース
n
コラム
n
メンバー登ຉ
n
ML・メルマガ登ຉ
n
セミナー等申し込み
ऍ的
ファイル
動的
ファイル
ध定
n
データ
サイト構築要件
通常はデザイナーのみによる運用
n DWによるコンテンツデザイン
n
テンプレートエンジン利用
コード・HTMLの分離
2
リクエスト処理の流れ
PEAR DB
プログラマ管理
ユーザー
3
foo.php
PostgreSQL
4
2
1
(5)
8
7
Smarty
MySQL
5
9
foo.tpl.php
Apache
foo.tpl
6
デザイナー管理
作業フェーズ
デザイン
コーディング
運用
.tpl
.html
<html>
<title>タイト
ル</title>
<body>
三澤さんこん
にちは
</body>
</html>
分離
<html>
<title>タイトル
</title>
<body>
{$name}さんこ
んにちは
</body>
</html>
.phtml
<?php
require(‘Smarty.php’);
$tpl = new Smarty;
$tpl->assign(“name”, “三
澤”);
$tpl>display(“index.tpl”);
?>
Dreamweaver
にて管理
3
Dreamweaverで.tplを開く
HTMLのブラウザ表示
.tplのDW表示
エピソード→
4
append()でNull値の扱い(1)
html
DBのmemberテーブル
name
mail
[email protected]
濱野
[email protected]
三澤
NULL
三澤
[email protected]
大川
[email protected]
大川
id
name
mail
1
濱野
2
3
Smarty
値がずれる?
append()でNull値の扱い(2)
.phtml
$res=$db->query("SELECTname,mailFROMmember");
while($data=$res->fetchRow(DB_FETCHMODE_ASSOC)){
while(list($key,$value)=each($data)){
$tpl->append($key,$value);
}
}
append()でNull値は
ध定されない
Ж決
•SQLにて空文字ध定
•append()のオーバー
ライド
5
DWのサイトध定
n
二つのサイトध定が必要
n
クロークを使用してミスഛ止
ディレクトリ
DWクロークध定
HTML,PHP
サイト
/foo/html
.tpl
テンプレート
サイト
/foo/template
.html
.phtml
DWのURLエンコード
Smartyテンプレート
<ahref="{$uri[link]}">
DWが自動URLエンコード
Smartyで認‫ށ‬不能
<ahref="%7B$uri%5Blink%5D%7D">
◆DWのध定で「特殊文字の置換」はOFFに
◆その他置換も基本的にはOFFに(form等)
6
おしまい
ごऍ聴ありがとうございました
ご意見・ご‫ޑ‬問・クレーム等は下記まで
[email protected]
付ຉ:append()オーバーライド
Smartyを継承したクラスを作って拡張すると便利
<?php
require_once('Smarty.class.php');
classMySmartyextendsSmarty{
functionappend($tpl_var,$value=NULL){
if(!isset($value)){
$value="";
}
parent::append($tpl_var,$value);
}
}
?>
7
Fly UP