リンクボタン作成専用のSmarty “ryus_link” プラグイン
業務用のモジュールを作成していると、管理画面のページ遷移をリンクでなく、ボタンにして欲しいという話になることが良くあります。
そのたびに、下記のようなHTMLをテンプレートに書くのですが、ついシングルクォートをつけわすれたり、onClick="regist.php"のような書き方をするというミスをよくやってしまいます。
<input type="button" value="登録画面へ" onClick="location='index.php?action=regist'" />
そこで、できるだけミスが発生しないようにSmartyプラグイン化してみました。
下記のように記述するおt、先ほどのHTMLを出力します。
<{ryus_link url="index.php?action=regist" text=登録画面へ}>
プラグインのコードは、非常に単純です。
<?php
function smarty_function_ryus_link($params, &$smarty)
{
$url = isset($params['url']) ? $params['url'] : "";
$text = isset($params['text']) ? $params['text'] : "";
$url = trim($url);
$text = trim($text);
printf('<input type="button" value="%s" onClick="location='%s'" />', $text, $url);
}
?>
XOOPSの配布モジュールを作成するときは、できるかぎりプログラム側でHTMLを生成することは避けた方が、テンプレートの自由度があがりますが、非公開のプログラムでSmartyを使えるなら、こんな感じで、テンプレートコーディングを楽にするためのプラグインを作ってみるのも良いだろうと思います。
Comments Off
RSS feed for comments on this post.
ƤˤϡޤȤդƤޤ
Ȥ
ʤߥȤդ뤳ȤϽޤ