我正试图使用symfony1.4在按钮中包含一个图像,代码为:
<?php
echo button_to(image_tag('icon.png')."button_name",'url-goes-here');
?>
但我得到的结果不是我想要的,而是一个以"img src=path/to/icon.png button\uname"作为按钮值的按钮。我在谷歌上搜索了很长时间,什么也没找到,所以我会试着在这里询问。
换句话说:
我想找到一种方法来生成类似于:<button><img src=..>Text</button>
的html,但在onclick选项中有一个符号url
我该如何用symfony将图像放入按钮中?我用错帮手了吗?感谢您抽出时间!
您错误地使用了Symfonys button_to函数。来自文件:
string button_to($name,$internal_uri,$options)创建指定名称的按钮标签,指向路由的URL
据我所知,button_to函数不允许使用图像按钮。相反,您可能会自己创建按钮标签,并使用symfonys路由来输出url。
我终于创建了自己的助手来显示这种按钮。我知道这不是很有效率和灵活性,但对我来说是有效的。这是代码
function image_button_to($img,$name,$uri,$options){
$sfURL = url_for($uri);
$sfIMG = image_tag($img);
if(isset($options['confirm'])){
$confirm_text = $options['confirm'];
$jsFunction = 'if(confirm(''.$confirm_text.'')){ return window.location=''.$sfURL.'';}else{return false;}';
}else{
$jsFunction = 'window.location="'.$sfURL.'";';
}
$onclick = 'onclick="'.$jsFunction.'"';
if(isset($options['title'])){
$title = 'title=''.$options['title'].'' ';
}else{
$title = '';
}
if(isset($options['style'])){
$style = 'style=''.$options['style'].'' ';
}else{
$style = '';
}
return '<button type="button" '.$onclick.$title.$style.' >'.$sfIMG." ".$name.'</button>';
}
有了这个函数作为助手,在模板中我只需要:
<?php echo image_button_to('image.png',"button_name",'module/actionUri');?>
希望这对某人有用;)