暇人じゃない

HTML Helper の Link についてメモ
CakePHPPHP

CakePHP の HTML Helper の Link についてメモ。

画像にリンクを貼る場合は、単純に

$html->image('hogehoge.jpg', array('alt' => 'hogehoge', 'url' => 'hogehoge.jpg'));

とすれば良いのですが、img タグと a タグ別々に class とか id を指定したい時ってありますよね。

例えば ThickBox と ツールチップを表示するための jQuery プラグインである TipTip を同時に使いたい時。 a タグに class="thickbox"img タグに class="tiptip" title="hogehoge" を指定したい。

これをどうやろうかなーと思ったのですが、こうしてあげました。

$html->link($html->image('hogehoge.jpg', array('alt' => 'hogehoge', 'class' => 'tiptip', 'title' => 'hogehoge')), '/img/hogehoge.jpg', array('class' => 'thickbox'), null, null, false);

生成される HTML は以下のような感じ。

<a href="/img/hogehoge.jpg" class="thickbox"
  ><img src="/img/hogehoge.jpg" alt="hogehoge" class="tiptip" title="hogehoge"
/></a>

最後の引数で false を指定してあげないと、$html->image() で生成した HTML をエスケープしちゃうのと、画像リンクのパスは絶対パスで指定してあげないといけないのが注意点ですかね...

ちとややこしくなりましたが、これで解決しました。 まあ、ヘルパー作れよって話なんですが...

いやあ、Cake 楽しいよ Cake !最近どっぷりです。

About

chocoby (GitHub / Twitter)

フリーのソフトウェア開発者です。 Ruby を使った Web 開発を得意としています。