2007年12月14日(金曜日)

リンクボタン作成専用のSmarty “ryus_link” プラグイン

カテゴリー: - Ryuji @ 09時54分51秒

業務用のモジュールを作成していると、管理画面のページ遷移をリンクでなく、ボタンにして欲しいという話になることが良くあります。

そのたびに、下記のような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を使えるなら、こんな感じで、テンプレートコーディングを楽にするためのプラグインを作ってみるのも良いだろうと思います。


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.010 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.