Изображение Symfony внутри кнопки? - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь включить изображение внутри кнопки, используя symfony1.4 с этим кодом:

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

Но результат, который я получаю, вместо того, что я хочу, это кнопка с "img src =path / to / the / icon.png button_name "в качестве значения кнопки.Я долго гуглил, и ничего не нашел, поэтому попробую спросить здесь.

Другими словами:

Я бы хотел найти способ генерировать HTML, похожий на: <button><img src=..>Text</button> но с URL-адресом Symfony, связанным с параметром onclick

Как я могу сделать это, чтобы поместить изображение внутри кнопки с Symfony?Я использую помощников неправильно?Спасибо за ваше время!

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Я наконец-то создал свой собственный помощник для отображения кнопок такого типа. Я знаю, что это не очень эффективно и гибко, но работает в моем случае. Вот код

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

надеюсь, это кому-нибудь пригодится;)

0 голосов
/ 13 января 2012

Вы используете функцию Symfonys button_to неправильно.Из документации :

string button_to ($ name, $ internal_uri, $ options) Создает тег кнопки с указанным именем, указывающий на перенаправленный URL

Насколько я могу судить, функция button_to не позволяет использовать кнопки изображений.Вместо этого вы, вероятно, создадите тег кнопки самостоятельно и будете использовать маршрутизацию symfonys для вывода URL.

...