【发布时间】:2015-02-11 00:57:32
【问题描述】:
我想在我的 Laravel (blade) 视图中打印一个按钮。我已经创建了一个用于创建此按钮的函数,因为:如果加载视图的用户无权查看此按钮,则该按钮将不会显示(我还没有制作这部分)。在每个需要按钮的视图中,我都想使用这种方法。该方法的返回值为:
<a href="{{ URL::to(scholen/toevoegen) }}"><button class="btn btn-primary">Nieuwe school</button></a>
只是有一个问题:createButton() 方法返回一个字符串。所以,{{ URL::to('scholen/toevoegen') }} 在刀片中不起作用。
有解决办法吗?我不想在我的方法中输入 url,因为它必须是可变的。
查看
<?= Authorize::createButton('Nieuwe school', array('scholen', 'toevoegen'), null, 'btn btn-primary'); ?>
助手类
static function createButton($text = null, $route = null, $id = null, $class = null)
{
$button = '<a href="{{ URL::to(<!URL!>) }}"><button class="<!CLASS!>"><!TEXT!></button></a>';
if ($text != null) {
$button = str_replace("<!TEXT!>", $text, $button);
}
if ($route[0] != null && $route[1] != null) {
$button = str_replace("<!URL!>", $route[0] .'/'. $route[1] . ($id != null ? '/'. $id : ''), $button);
}
if ($class != null) {
$button = str_replace("<!CLASS!>", $class, $button);
}
return $button;
}
【问题讨论】: