按钮内的symfony图像?

时间:2012-01-13 16:00:30

标签: php html symfony1 symfony-1.4 helper

我正在尝试使用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的按钮内?我使用帮手错了吗? 谢谢你的时间!

2 个答案:

答案 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');?>

希望这对某人有用;)