Laravel使用路由来定义自定义宏

时间:2014-02-28 20:23:18

标签: php laravel laravel-4

我定义了自定义宏,例如link_image,我要使用{{ URL::route('profile') }}。插入以下行后我得到错误:

{{ HTML::image_link("{{ URL::route('profile') }}", 'public/images/close.png', '', 'Image 01') }}

错误:

 syntax error, unexpected '}', expecting ',' or ';' 

我的宏:

HTML::macro('image_link', function($url = '', $img='img/', $title ='' ,$alt='', $param = false, $active=true, $ssl=false)
{
    $url = $ssl==true ? URL::to_secure($url) : URL::to($url);  
    $img = HTML::image($img,$alt);
    $link = $active==true ? HTML::link($url, '#', $param) : $img;
    $link = str_replace('#', $img.$title ,$link);
    return $link;
});

1 个答案:

答案 0 :(得分:1)

您需要删除URL :: route:

周围的"{{ }}"
{{ HTML::image_link(URL::route('profile'), 'public/images/close.png', '', 'Image 01') }}