Standing on the Shoulder of Linus

Home / 2011 / 11月 / 23 / PHPTAL カスタムモディファイア

PHPTAL カスタムモディファイア

PHPTAL では、カスタムモディファイアを自分で定義することができます。

これを利用して、WordPress の機能を少しずつ PHPTAL に移植しています。

function phptal_tales_postclass($src, $nothrow=false) {
    return 'get_post_class("",'.phptal_tales($src,$nothrow).')';
}
function phptal_tales_permalink($src, $nothrow=false) {
    return 'get_permalink('.phptal_tales($src,$nothrow).')';
}

get_post_class は、投稿毎にクラスプロパティを付与してくれます。CSS でデザインカスタマイズするときに役立ちます。
get_permalink は、投稿のパーマリンクを作成します。デフォルト以外のパーマリンクを自動生成してくれます。

TAL テンプレートのほうでは、下記のように使用します。

<div tal:attributes="class postclass: item/id">

postclass: item/id は、phptal_tales_postclass の戻り値を実行します。その引数が item/id になります。phptal_tales_postclass は、関数そのものを記述するのではなく、get_post_class( ... という値を返すように作成します。

パーマリンクも同様に下記のようになります。

<a tal:attributes="href permalink: item/id">

なお、PHPTAL の場合は、標準でエスケープされます。phptal_tales_XXX を定義する時に、面倒なエスケープ作業を省くことができます。

関連

Posted in php | Tagged WordPress
← OSC東京2日目、翻訳/L10n BoF OSC 東京 震災後の復興に向けたICTの活用事例と「SAHANA」の取り組みご紹介 →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 問い合わせフォーム改善: 選択肢により条件分岐し、項目の表示非表示を変更する
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.