2010年 1月 14日(木) [3:57]
今まで覚えたい覚えたいと思いつつも、中々着手しなかったSmarty。
「Smartyって何じゃらほい?」ってな人もいると思います。
「PHPで使えるテンプレートエンジン」と言っても、「何それ、おいしいの?」と返事すると思います。
私もそうでした。
簡単に言うと、ブログみたいに『index』『header』『footer』『side』などを分けて管理できるようになる素晴らしき言語なのです。
WordPressどっぷりな私にとっては要らないって言えば要らないんですが、仕事となるとそうもいかない。
5年以上も前に作られたWEBサイト。
100ページ以上もあるのに、全てHTMLでベタ打ち。
1箇所変更があると、全てのファイルを変更しなければいけません。
DreamWeaver使って一括変換なども出来ますが、一々全てのファイルをアップしなければいけないし手間と労力が掛かりすぎます。
このご時勢、こんな面倒な事はやってられません。
本当はデータベース化したかったんですが、まだ私の力が及ばないので、まずはSmarty導入してから勉強したいと思います。
最初からやりたい事は決まっていたんですが、これが中々思うように行きません。
やりたかったのは、こんな感じ。(簡単に)
<html>
<head>
<title>タイトル</title>
</head>
<body>
{include file="header.tpl"}
メインコンテンツ
{include file="side.tpl"}
{include file="footer.tpl"}
</body>
</html>
細かい<div>等は省いています。
『{include file=”○○○”}』ってのが、Smartyのコードで、別の『 .tpl 』ファイルを読み込んで表示してくれます。
これがベタ打ちなHTMLファイルが100以上もあるんです。
アクセスするのはPHPではなくHTML。(× index.php ○ index.html など)
その中にSmartyコード。
言うは易しで、それを行うには裏でPHPファイルやら『.htaccess』などを駆使しなければいけません。
そんな苦戦したプログラムが上手く行った時の快感と言ったらもう!
結局は全てのファイルを書き換えしなければいけないんですが、ファイルの中身が簡略化できて管理しやすくって、そんな苦労はどこへやら。
一クライアントWEBサイトで、私が管理してて頻繁に更新作業があるので、自分が楽したいが為にやりました。
エクセルのマクロ組むのと一緒で、こういった楽の仕方はどんどんしていきたいです。
もちっと理解が出来てきたら、その内まとめるかもです。
データ会社に置いてきたし。
何はともあれ、Smartyバンザイ。w
2009年 12月 26日(土) [4:21]
昨日書いた記事の続きです。
前回は『フラッシュ形式』と『ポップアップ形式』のボタンを2つ設置する方法で行いましたが、画像が同じだと分かりづらいと思うので表示させる画像を分けてみました。
ソースを見ると一目瞭然ですが、画像ファイルは『wp-admin/images/media-button-image.gif』です。
これを新しく2つ作成し、画像リンクを変えるだけで簡単に表示を変えれます。
元の画像は 14×12 ですので、それに合わせて自作するも良しです。
私は只単に文字を乗せただけで作ってみました。
| フラッシュ | ポップアップ |
| アイコン |  |  |
| ファイル名 | media-button-image_f.gif | media-button-image_p.gif |
|---|
これをアップロードし、また『wp-admin/includes/media.php』の書き換えを行います。
media.php 366行目~ (2.9の場合)
<a href="{$image_upload_iframe_src}&TB_iframe=true" id="add_image" class="thickbox" title='$image_title (Flash)' onclick="return false;"><img src='images/media-button-image_f.gif' alt='$image_title (Flash)' /></a>
<a href="javascript:w=window.open('{$image_upload_iframe_src}&flash=0','','scrollbars=yes,Width=650,Height=720,top=0,left=0');w.focus();" id="add_image" title='$image_title (Popup)' onclick="return true;"><img src='images/media-button-image_p.gif' alt='$image_title (Popup)' /></a>
結果的に、このような表示になります。
ついでに
title と
alt も変えてみました。
赤の太字で追加したコード(&flash=0)がありますが、これはポップアップ表示した際『Flashアップローダー』ではなく『ブラウザアップローダー』に最初から指定するコードです。
私はFirefoxを使っていて『
dragdropupload』のアドオンを入れる事によって、テキストボックスにドラッグ&ドロップ出来るので多少の時間短縮にはなります。
『動画』『音声』『メディア』は使った事無いので無視してますと書きましたが、この方法で行えば同じような事が出来ると思います。(多分w)
2009年 12月 25日(金) [3:55]
以前から各所で声があり、ちょっと調べてやってみました。
その声とは・・・
「WordPressの投稿画面で画像を挿入する時、一々フラッシュが立ち上がり1枚挿入したら消えてしまう。
連続で挿入する時もの凄く面倒だから、ずっと表示していて欲しい」 との事。
機会があったらやってみようと思ってましたのでやってみました。
いやー、4・5時間かかっちゃったよ。w
結果的に何をしたかと言うと、
・画像挿入画面をポップアップで出す。
・1枚挿入しても、そのまま表示させる。
以上2点だけです。
それだけの為に何時間も・・・。
その何時間もかかった結晶(?)は以下より。
続きを読む >>
2009年 5月 9日(土) [2:10]
4/15に書いた『【WordPress】特定のカテゴリーを表示or非表示させる方法2』ですが、今更ながら問題が見つかりました。
それは、2ページ目以降が1ページ目と同じ内容になってる! って事です。
普段自分ではそこまでチェックしないんですが、昨日偶然発見しました。
特定のカテゴリーを非表示。
ってのが絡んでたみたいです。
解決方法は以下。
続きを読む >>
2009年 4月 15日(水) [3:45]
4/12に書いた記事の続きです。
以前のコードの書き方だと、非表示に設定したカテゴリーは確かに非表示になるんですが、トップページに表示されていないだけでカウントされています。
要は、トップページに表示する件数(10) ー 非表示しているカテゴリー(2) = 実際の表示件数(8) になり、少々面白くありません。
なもんで、またPHPファイルを弄ってみました。
続きを読む >>
2009年 4月 12日(日) [3:55]
今まで2chのまとめブログの一覧をちまちまローカルのHTMLファイルに書き、FTPでそれをアップ。
サイト上は iframe で表示させていました。
何だかそれも面倒になってきたので、このまとめ一覧もWordPressの記事の1つにしました。
しかしそうなると、一覧のページにその記事が載ってしまうのでそれを非表示、且つサイドに持っていった一覧を『2ch』と付けたカテゴリーだけ表示させる方法です。
詳細は以下から。
続きを読む >>
2009年 1月 19日(月) [1:38]
画像をランダムで表示させる方法は、JavaScriptを使えば簡単と言うか検索すれば山ほどヒットされます。
このサイトのヘッダーとサイドの『フォトギャラリー』もJavaScriptを使ってます。
この画像をランダムで表示させる方法をPHPで、しかも1つ1つに異なったリンクを貼る方法を何とか頑張って書いてみました。
(右上の画像で実装済み)
その方法は以下から。
続きを読む >>
2009年 1月 12日(月) [4:31]
右サイドバーとコンテンツ内にある『拾いもの画像』。
今まではちまちま手作業で追加・更新してたんですが、そろそろ面倒になってきたんでPHPで自動で表示させるようにしました。
そんな自動ループ表示方法は以下から。
続きを読む >>
2009年 1月 5日(月) [23:35]
WordPressのフォーラムで、エントリー内のコメントされた際、リンクを別ウィンドウ(タブ)で開きたいと言うのがありまして、それの回答をしたら「自分のリンクは同窓、他人のリンクは別窓が良い」って言われたんで、頑張ってやってみました。
続きを読む >>
2008年 12月 10日(水) [22:05]
WordPressもバージョンが上がって、最初から色々付くようになりました。
サイドバーに表示してる 『新着コメント』 と言うのも、最初からは無くてプラグイン対応してたとか何とか。
(詳しく調べてないので、間違ってたらすいません。)
デフォルトのままでは少々気に入らないので、ちょっと改造してみることにします。
続きを読む >>