linkさせる時に常にスラッシュを付ける方法とその時の注意点

Permalink2008/10/09 16:57:57
カテゴリ: ヘルパー

CakePHP1.2 RC2

リンク表示させる時に便利なヘルパーが、HTMLヘルパーのinkメソッド HtmlHelper::link() です。
生成されるリンクの最後に常にスラッシュをつけて表示させたい場合は、このメソッドをカスタマイズします。

cake/libs/views/helpers/html.php を app/views/helpers/html.php にコピーします。

link メソッド内の return の直前に下記内容を追加します。

if (substr($url, -1) != '/') {
    $url = $url . '/';
}

これで、リンクの最後にはスラッシュが常に付いた状態になります。

ただし、このままだと一つ問題が生じます。

TextHelper::autoLinkEmails() を利用すると、自動で mailto のリンクを作成してくれるのですが、内部で HtmlHelper::link() を呼び出している為に、mailto のリンクの最後にまでスラッシュが付いてしまいます。

ですので、それを回避する為に、先ほどの部分を下記の様に変更します。

if (substr($url, 0, 7) != 'mailto:' && substr($url, -1) != '/') {
    $url = $url . '/';
}

関連記事


    この記事へのトラックバック アドレス

    コメント, トラックバック:

    この投稿への コメント/トラックバック はまだありません...

    コメントを残す:

    頂いたメールアドレスはこのサイト上には表示されません
    頂いたURLは表示されます。

    許可される XHTML タグ: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
    (改行が自動で <br /> になります)
    (名前、メールアドレス、URLを記憶する Cookie を発行します)
    (ユーザがメッセージ・フォームを通してあなたに連絡することを許可します (あなたのメール・アドレスは表示されません))

    プロフィール
    愛知県名古屋市在住のあつ@株式会社一六社(いちろくしゃ)スタッフ

    あつへのメッセージはSkypeを使ってテキストメッセージでどうぞ
    あつ

    CakePHPに関する情報をまとめていきます。

    開発スピードがアップできればうれしいです。

    >>連絡はこちらへどうぞ


    CakePHP関連のブックマーク


    CakePHP最新版
    CakePHP 1.2.3.8166


    CakePHPの書籍

    CakePHPによる実践Webアプリケーション開発

    CakePHP1.2で作成する人にオススメ。
    とても参考になります。

    まるごとPHP!(vol.2)

    安藤さんの解説が載っています。
    AmazonのPagination部分は参考になります。

    CakePHPによるWebアプリケーション開発

    まだ読んだことありません

    CakePHPポケットリファレンス
    CakePHPポケットリファレンス
    CakePHP1.2 でやるなら、これがあると何かと便利♪

    CakePHP徹底入門
    CakePHP徹底入門
    CakePHP1.2 を今から始めるならここから

    Fast CakePHP
    Fast CakePHP
    シンプルでわかりやすい CakePHP の入門書

    CakePHPガイドブック
    CakePHPガイドブック
    CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

    アーカイブ

     RSS2.0

    powered by
    b2evolution
    ブログ一六社

    Geo Visitors Map