CakePHP / URLの相対パス置換まとめ
CakePHP導入による「相対パス→汎用の絶対パス」変換がややこしいのでまとめてみました。
---
普通のアンカータグによるリンク
<a href="abc.html">テスト</a>
↓
<?php echo $html->link("テスト","abc.html") ?>
または
<a href="<?php echo $html->url("abc.html") ?>">テスト</a>
---
画像
<img src="./img/abc.jpg" alt="テスト" />
↓
<?php echo $html->image("abc.jpg", array("alt"=>"テスト")) ?>
または
<img src="<?php echo $html->webroot(IMAGES_URL."/abc.jpg")" alt="テスト" />
---
画像リンク
<a href="abc.html"><img src="./img/abc.jpg" alt="テスト" /></a>
↓
<?php echo $html->link($html->image("logo.gif", array("alt"=>"テスト")),"abc.html",null,null,false) ?>
---
この作業は非常にめんどくさいのですが、これをやっておくことで、どこに設置してもリンク切れの心配がなくなります。
テスト環境と本番環境のパスの差を気にする必要もなくなります。
【参考サイト】
http://blog.livedoor.jp/k1LoW/archives/54654684.html