htmlのたたき台を作るのにsmartyを使ってみてます。

使用時間、2時間くらい・・・。

※ローカルでちょっとだけつかうつもりで書いたので、かなりあぶない気がする。

<?php
require('Smarty.class.php');

$smarty = new Smarty;

$smarty->template_dir = './smarty_templates';
$smarty->compile_dir = './smarty_templates_c/';
$smarty->config_dir = './smarty_configs/';
$smarty->cache_dir = './smarty_cache/';

$pi = trim($_SERVER['PATH_INFO'], '/');

$tpl = explode('.', $pi);
$tpl = $tpl[0]. '.tpl' ;

if($tpl == '.tpl') {
$tpl = 'index.tpl';
}

$smarty->display($tpl);
?>

hoge.php かなんかで保存して、http://localhost/hoge.php/index.html とかやると、template_dir の中の index.tpl が表示される。foo.tpl を作ってtemplate_dirに放り込んでから /hoge.php/foo.html にアクセスすると foo.tpl が表示される。らくちん。

一人だと、Dreamweaver のテンプレやライブラリ使うより Smarty でごりごりやったほうが楽だわ。php の動くwebサーバーを立てなきゃいけないってのはあるけど、 xampp インストールすりゃ終わるし、テンプレ書いてリロードすりゃいいだけだし。

あんまし Dreamweaverのプレビューはいまのところ必要ない(CS3でどうなるかなぁ)し、いつもブラウザでリロードしまくるので、Dreamweaverでテンプレ変更→ファイルに反映→ブラウザでリロードってやるところの、「ファイルに反映」がなくなるぶん、楽になった。

最初のうちは、html の id class 付けやら div 囲いの変更やらで、いじりまわすことが多いから、なるべく共通部分は1つにまとめといたほうがめんどっちくない。テンプレん中で他のテンプレ呼べるし({include file=”header.tpl”} とか)、ファイルと一緒に変数渡せたりするから、構造同じだけど、ページごとに微妙に違うときも楽ちん。

Flash ばっかりやってたから、 html でのサイト作成のフローがまだ固まってない。css にいたってはジェンガになっちゃうし・・・。なんとかせんとなぁ。

なんだかんだで続けている RSS リーダ制作

RSS やら ATOM やらから、適度に情報をゲットするクラスを作ったり、SQLiteいじったりしてました。

title や link, description みたいな最低限の情報に加えて、元のitem(や entry)要素のXMLでデータを、DBに保存させたかったんです。で、表示するときのデフォルトは最低限の情報だけ表示するようにしといて、プラグインみたいなので表示前にフィルター通せるようにして、そのフィルターにとっておいた xml 渡して勝手に変換してもらって、それを表示できるようにすりゃいいかなと。いろいろと整合性をとるのが大変だろうなぁ~とは思うけど、まだ細かいところを考えてない・・・。

なーんか、すんごく時間かかりそう・・・。でも作るのおもろい。やっぱし、自分が欲しいモノ作ってるわけだから、おもろい。でもでも、遊びすぎて眠い。

何を思ったか RSS リーダー作り出した

作りたい作りたい言っててほったらかしてたんですが、今日むしょーに作りたくなったので作ってます。

1ページ1エントリ。やめたくなったらすぐ閉じられます。fキーで次のエントリにすすみます。vキー押すと iframe ん中に元記事を表示します。oキーで新しいwindowに元記事を開きます。

今んとこ、古いものから順番に1エントリずつ表示させてます。絞り込み機能はまだつけてないです。

URLで重複チェックをしているので、別のとこからリダイレクトさせない限り重複しないはず(feedburner みたいなのを使ってるとこはだぶる可能性あり)。

前に見たエントリでもういちど見たくなったときは、ブラウザの履歴からタイトル検索で出てくるので、数日分はこれでいけそう。一応最終アクセス日は保存してあるので、そのうちちゃんと見れるようにもするつもりだけど。

rr1.jpg rr2.jpg

左の画面の状態からvキーをおすと iframe が上にのっかる。もっかい押すと消え。