【问题标题】:symfony image inside a button?按钮内的symfony图像?
【发布时间】:2012-02-09 19:46:39
【问题描述】:

我正在尝试使用 symfony1.4 将图像包含在按钮中,并带有以下代码:

<?php 
    echo button_to(image_tag('icon.png')."button_name",'url-goes-here');
?>

但我得到的结果,而不是我想要的是一个按钮,按钮的值是“img src=path/to/the/icon.png button_name”。 google了很久也没找到,所以我在这里问问。

换句话说:

我想找到生成类似于:&lt;button&gt;&lt;img src=..&gt;Text&lt;/button&gt; 但在 onclick 选项中关联 symfony url 的 html 的方法

如何使用 symfony 将图像放入按钮中?我用错了助手吗? 感谢您的宝贵时间!

【问题讨论】:

  • 你希望它输出什么?尽可能完整。
  • symfony 不是你的问题。你需要先弄清楚如何做 html。

标签: php html symfony1 symfony-1.4 helper


【解决方案1】:

我终于创建了自己的助手来显示这种按钮。我知道这不是很有效和灵活,但在我的情况下有效。这是代码

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

希望这对某人有用;)

【讨论】:

    【解决方案2】:

    您使用 Symfonys button_to 功能不正确。来自documentation

    string button_to($name, $internal_uri, $options) 创建一个 指向路由 URL 的给定名称的按钮标记

    据我所知,button_to 函数不允许使用图像按钮。相反,您可能会自己创建按钮标签并使用 symfonys 路由来输出 url。

    【讨论】:

    • 我不想要一个图像按钮,我想要一个普通按钮,其中除了 $name 文本之外还有一个图像。助手使用正确,据我所知,在我的按钮中,图像应该成为助手的 $name 参数的一部分。也许是不可能的:(
    • 不,您不能只在提交按钮的值内放置一个图像标签或链接并让它显示图像。值中的任何内容都将显示为文本。如果您需要花哨的按钮,您可以创建一个 A 链接,将其设置为看起来像一个按钮,然后将您想要的任何内容放入其中。
    • 我终于自己创建了一个按钮标签来在按钮内添加图像。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多