WPテンプレートの本文フォントスタイルを変更

わたしも使用しているこのブログツールwordpressはphpで記述されているので、これに関するカスタマイズも一応守備範囲かなと思い、本日行った修正も自分の備忘録として記述しておきます。
文字コードはウィンドウズ標準フォントの一つ”MS UI Gothic”で日本語表示されるようにします。

外観をクリックして[テーマを編集]をクリックします。

フォントを変更する変更したい本文のテキストのフォントを指定しているのが、このstyle.cssなので、表示されているような箇所を見つけ出して、”MS UI Gothic”を追加します。そのとき区切り文字のカンマを忘れずに。

そして[ファイルを更新]をクリックすれば変更されます。が、パーミッションの設定変更がまだだと「変更を保存するには事前にこのファイルを書き込み可能にする必要があります。詳しい情報は Codex を参照してください。」と表示されているはずです。その場合はFTPツールやSCPツールなどを使用してパーミッションを書き換え可能なように変更しておきましょう。ちなみに私は664としています。パーミッション変更について

マック使いではないので、マックの表示を考慮できていないのですが、最近またマック使いが増えたりiPad表示を意識しないといけないと思っているので、”MS UI Gothic”に該当するようなmacのfont-familyをだれかコメントで教えて下さいませませ。

Posted in ぼそぼそ, 開発 | Leave a comment

ソーシャル・ペッツってだめかなぁ

自分のペットがもし人格を持っていたらどうなんだろう。っていうのが発送の発端。

あくまでもペットがそのソーシャルの主体であって、その飼い主はその世界ではぺっとのエージェントに過ぎない。

ペットでなく「タレント」飼い主ではなく「エージェント」か。主従関係が逆転してしまうなぁ。
ここまで書いて、『あ、没ネタナイト行き』と思ったのでした。
実は色々背後で動くビジネスプランも考えたけど、あっさりパクられるのもいやなんで、
没ネタナイト用にしっかりプラン考えてプレゼンしよっと。(本末転倒)

Posted in ぼそぼそ | Leave a comment

うぁ、アカウント間違っていた!?

これで短縮URLが表示されていたら、ぼくはイージーミスをいったいどれだけ放置していたことになるのだろうorz…

表示されてしまった。なんてこったぁ。bit.lyの短縮URLがうまい具合に表示されているじゃぁないか。
アカウントにおかしな文字が混入していたのを、見逃していたなんて。

プログラムのせいだ、バージョンのせいだと、自分のイージーミスだと疑わずに放置するなんて。
きっと疲れ切っていたんだね。このブログに愛着を抱く余裕もなかったんだね。

そうかそうか、たいへんだったね。ならばこれからはちゃんとしようね。
「ちゃんと」の定義:この場合は正確な入力を心がけ、不正な動きが認められた場合は自分の作業手順を鑑み振り返りある場合は疑いある場合は信じて」とする。

Posted in ぼそぼそ | Leave a comment

ゴールデンウィークってなんかしんどい

季節のものなのかもしれないが、突風が吹いたり、突然横殴りの雨が降り、からっと晴れ上がり、また突風と雨という天気が1日続くと気分は憂鬱。ゴールデンウィークって言うが、こんな歯抜けな休みなら、いっそ普通に過ごした方がいいんじゃないかと思う。細切れで休みがあっても、結局はその時期に一斉に仕事がストップするわけで、歯車がかみ合わなくなることも多々ある。結構これが日本の経済にダメージ与えているように思うな。

そんな細切れ休みでなくて、1ヶ月バサッとどかっと休みがとれるほうがよっぽど経済効果高いと思うけど。
でもそれがみんな一斉だとまたあまり意味がないわけで。世界と仕事している以上、もうそういった改革も必要と思うな。

Posted in ぼそぼそ | Leave a comment

画像サムネイルをポラロイドっぽく囲んで表示ツール【PHP】

先日、株式会社TAMさんがコワーキングスペースを始めるということでオープニングセレモニーに参加しました。色々な業種の方々がウェブ周辺で仕事できるようになったんだなぁ~と感慨深く感じながら、持って行った名刺が少なかったため、iPadで作ったサイトやツールを紹介しながら自己紹介し、これからいろんな方々と是非セッションしていきたいと願うのでした。

その事始めと申しますか、写真家のシラタニタカシさんとの出会いで『そのサムネイル表示ツールですが、長辺で正方形の中に格納されてリストになりませんか?』との申し出を受けまして「んじゃ、今度の休みにでもちょこちょこっとやってみましょう」なんて感じで、本日昼からかかってバージョンアップさせました。

名付けて「画像サムネイルをポラロイドっぽく囲んで表示ツール」です。デモサイト

ダウンロード(ファイルはおよそ1.2MBですが、容量のほとんどはサンプル画像です。)

デモサイトでは1つサムネイルが表示されていませんが、テスト環境ではOKだったりするのでサーバーの環境に依存するものと思われます。

ファイル一式を公開ディレクトリにアップし、そのディレクトリにアクセスすればすぐ作動するように作ってあります。一応はハッキング(ディレクトリトラバーサル攻撃)に抵抗するよう作ってはいますが、リスクはご自身で負っていただくお約束で、ご自由にお使い下さい。

Posted in PHP, 開発 | 1 Comment

サムネイル勝手に作って表示ツール一式公開【PHP】

ディレクトリに入れた画像のサムネイルを一つ一つ作って、リンクを張ってアップする作業も量が多くなれば面倒くさいですね。その画像が更新されるとまたそれも修正する必要がありますし、、、

「ディレクトリ(フォルダ)にアップしたら勝手にサムネイル表示させたい」という自分のニーズに応えるべく作成したのが今回アップするツール『サムネイル勝手に作って表示ツール』です。

サムネイル勝手に作って表示ツールをダウンロード
(zip形式で圧縮しています。容量はおよそ817kb)2012/05/04 19:04追記:バージョンアップしています。このファイルは旧式です。

ファイル一式を公開ディレクトリにアップし、そのディレクトリにアクセスすればすぐ作動するように作ってあります。一応はハッキング(ディレクトリトラバーサル攻撃)に抵抗するよう作ってはいますが、リスクはご自身で負っていただくお約束で、ご自由にお使い下さい。

テスト動作させているサイトを公開します。
2012/05/04 19:04追記:バージョンアップしたため、最新版で動作させています。

Posted in PHP, 開発 | Leave a comment

CakePHP2を美味しく食べたい:$scripts_for_layoutの使い方

画面を作り込んでくると、<head>内で別ファイルのcssやscriptを読み込んで、見栄えや動きをつけてゆくもの。
でも、画面テンプレートを共通化しておくと、「この画面ではこのcssとかjsは不要なんだけど…」でも制作上の都合でそのままにしておきがちかもしれません。小さいファイルであればいいのでしょうが、昨今のJavascriptはJQueryや色々なプラグインなど大きなファイルを読み込ませて動作が重くなりがち。

これを、画面表示で必要な部品(ビュー)を読み込む場合のみ、ヘッダー側で出力してもらうというのがこの$scripts_for_layoutの仕組みです。

使えるようにしておくため、レイアウトファイルの<head>部に
<php? echo $scripts_for_layout;?>
があるか確認。無ければ書き加えましょう。

そして表示させる予定のviewファイルに次のように記述します。

CSSファイルの場合


<?php $this->Html->css(array('hoge/fuga',"fuga",'/hoge'), null, array('inline'=>false)); ?>

この記述の意味を説明すると、味噌は
array('inline'=>false)
この値を指定してあれば、画面出力時に$scripts_for_layoutのある箇所に、cssを読み込むエレメントが出力されるようになっています。
array('hoge/fuga',"fuga",'/hoge')
この記述では3つのcssファイルを読み込ませるためファイルのありかを指定しています
‘hoge/fuga’は/css直下にある/hoge/fuga.cssを指定
‘fuga’は/css直下のfuga.cssを指定
‘/hoge’はルート直下のhoge.cssを指定
しています。
読み込むファイルが1つの場合は

<?php $this->Html->css('hoge', null, array('inline'=>false)); ?>

でもOKです。
ちなみにnullの箇所に文字列を入れるとエレメント出力の際の”rel”値がその文字列になります。ただし、’import’を指定すると<link>ではなく<style>エレメントに変化し読み込み形式が変わります。
※なぜかtrueを指定するとimportと同じ挙動を取るようです。2.0.6で確認しました。

JavaScriptファイルの場合

<?php $this->Html->script(array(‘script1′, ‘script2′), array(‘inline’=>false)); ?>
この記述の意味も上記cssに準じます。

こうしてレイアウトは共通だけれど、表示させるビューによって読み込ませるcssやjsをダイナミックに変更できるため、ページ表現時にいろんなことができそうです。

Posted in 2.0, CakePHP, CakePHP2を美味しく食べたい, PHP, ぼそぼそ, 開発 | Leave a comment

CakePHP2を美味しく食べたい:$autoLayout と $autoRenderでの制御

CakePHP2のhtmlビュー表示制御について

自動レンダリング機能の動きとOFF/ONについて現時点で市販のとあるマニュアル本の書き方がだらしなく(そのうえそれくらいしかないorz)、誤解を招く記述なので自分の整理のためにも書きます。
コントローラのメンバ変数として指定できる$autoLayoutと$autoRender。この$autoLayoutと$autoRenderは画面表示用テンプレート読み込み動作のOFF/ONをつかさどります。初期状態はどちらも”TURE”が指定されていますので’ON’状態です。この二つのメンバ変数を記述しなければ、初期値(ON)で動作することになります。

そのときはどう動くの?

例えば/hoge/でページを表示させるつもりであれば、次のようにコントローラーを作りますね。
/Controller/ディレクトリ直下にHogeController.phpと名前をつけたファイルを作成し、そのファイル内にindex()アクションを記述した場合、
/View/ディレクトリ内に/hoge/ディレクトリを作り、その中にindex.ctpという名前でファイルを配置すれば、そのファイル内に記述した内容が読み込まれます。
さらに
/View/Layouts/ディレクトリ内にあるdefault.ctpファイルが読み込まれます。
そして上記(index.ctp)で読み込んだ内容をdefault.ctp内に記述されている

<?php echo $content_for_layout; ?>

で出力し表示します。もし/View/Layouts/default.ctpが無いとか、/Layouts/ディレクトリがない場合はCakePHPのライブラリ内にあるファイルを読み込んで表示するようになっています。

この挙動を変更したい

レイアウトを使いたくない

コントローラ内に次の1行を加えれば、レイアウト表示をOFFできます。
public $autoLayout = false;
これで、/View/hoge/index.ctpだけが表示されます。

レイアウトを色々と使い分けたい

複数ページを制作しカテゴリ毎に色分けしたレイアウトを複数用意して季節が変わったらレイアウトを変更したいなら、レイアウトファイル名を指定するため$layoutを記述して制御します。
public $layout = 'hoge';
これで/View/Layouts/hoge.ctpを読み込んで来るようになります。
応用編ですが、時間帯で変えたいとかユーザーステータスで変えたいは

public $layout;

public function index()
{
$ctp = 'hoge';
if ($hour == 1) $ctp = 'fuga';
if ($hour == 2) $ctp = 'hena';
$this->layout = $;
}

とするといいかもしれません。判断分岐はみなさんのセンスでどうぞ。

そして、
$autoRender = false;
こうすることで、レイアウト用またビュー用テンプレートファイルを読み込んでくる処理を止めることができます。
特殊な用途でこれを止めて、アクション内で何か処理をさせて終わらせる必要がある場合もあるでしょう(例えばコンソール用コマンドとか、cron用実行スクリプトなど)。画面表示の必要が無い場合、この記述を加えてテンプレート読み込みを止めます。

Posted in 2.0, CakePHP, CakePHP2を美味しく食べたい, PHP, フレームワーク, 開発 | Leave a comment

CakePHP2.0事始め

CakePHP2.0.6 ってどんなもんやろうと思い、色々弄り始めています。

CakePHP2になって色々と見直しが行われたようで、その中でもコーディング基準のファイル名の付け方が替わり、app_controller.phpではなく、AppController.phpになりました。
その件については、ここに書いてあります。
CakePHPの規約
さすが日本人は仕事が早く正確。こちらのドキュメントのほうが正しいそうで、
2/8時点では、英文のコーディング基準はついて行けていないようで…
Coding Standards
惑わされそう。っていうか英語圏の人は惑わされているよね。きっと。

それから、データベース接続設定の設定の仕方に若干の変更が加わっています。ドキュメントによると、『より良い一貫性を保つために、「driver」クラスはもう受け付けません。』とのこと。
ConnectionManager
‘datasource’に一本化されたようです。マニュアルへの反映が現時点未だなのでご注意を。>自分

Posted in 2.0, CakePHP, PHP, フレームワーク | Leave a comment

Enterキー押下でTab移動したりサブミットする操作を止めるJavascript

ほかから頂戴したJSですけど、実用的なのでここでも紹介します。

document.onkeydown = KeyEvent;
self.focus();
function KeyEvent(e){
  pressKey=event.keyCode;
  if(pressKey==13){return false;}
}

良かったら使ってみて

Posted in JavaScript, 開発 | Leave a comment