有っても仕方ないと言われそうなもの

<?php echo $html->link(__('Delete', true), array('action'=>'delete', $user['User']['dbid']), null, sprintf(__('Are you sure you want to delete # %s?', true), $user['User']['dbid'])); ?>

を、なんとなーく実現したかったけどAタグ書くのが面倒だったのでプラグインにしておきました。

{link url=$html->url($this->aa(‘action’,’view’,’0′,$user.User.dbid)) label=$this->i18n(‘View’, true)}

{link url=$html->url($this->aa(‘action’,’delete’,’0′,$user.User.dbid)) confirm=”`$user.User.dbid`を削除しますか?” label=$this->i18n(‘Delete’, true)}

こんな感じ。

<?php
function smarty_function_link($params, &$smarty)
{
$url     = null;
$confirm = null;
$label   = null;
foreach($params as $_key => $_val) {
switch($_key) {
case 'url':
case 'label':
case 'confirm':
$$_key = (string)$_val;
break;
default:
$smarty->trigger_error("link_confirm: extra attribute '$_key' not use.", E_USER_NOTICE);
break;
}
}
if (!isset($url)  && !isset($label))
return ''; /* raise error here? */
if ( isset($confirm) ) {
$_html_result = sprintf ( '<a href="%s" onClick="return confirm(\'%s\');">%s</a>', $params['url'], $params['confirm'], $params['label']);
} else {
$_html_result = sprintf ( '<a href="%s">%s</a>', $params['url'],  $params['label']);
}
return $_html_result;
}
?>
広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。