我正在尝试使用symfony1.4将一个图像包含在一个按钮内,并带有以下代码:
<?php
echo button_to(image_tag('icon.png')."button_name",'url-goes-here');
?>
但是得到的结果,而不是我想要的是一个带有“img src = path / to / the / icon.png button_name”作为按钮值的按钮。我已经知道了很长时间没找到任何东西,所以我会试着在这里问。
我想找到生成类似于<button><img src=..>Text</button>
的html的方法,但是在onclick选项中关联了一个symfony网址
如何将图像放入带有symfony的按钮内?我使用帮手错了吗? 谢谢你的时间!
答案 0 :(得分:0)
您正在使用Symfonys button_to功能不正确。来自documentation:
string button_to($ name,$ internal_uri,$ options)创建一个 指定路由URL的给定名称的按钮标记
据我所知,button_to功能不允许使用图像按钮。相反,您可能会自己创建按钮标记并使用symfonys路由输出URL。
答案 1 :(得分:0)
我终于创建了自己的帮助器来显示这种按钮。我知道不是非常有效和灵活,但在我的情况下工作。这是代码
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');?>
希望这对某人有用;)