我在类中创建语句,但语法错误和意外'如果' 这是我的代码
$row->actions = '
<div class="btn-group">
<ul class="dropdown-menu" role="menu">
'.generate_button('activity', 'edit', '<li class='". if('.$row->status==1).'{echo 'hidden'}"'>
<a href="'.site_url('activity/edit_activity/'.$row->activity_id).'"> <i class="fa fa-pencil"></i> Edit </a> </li>').'
'.generate_button('activity', 'view', '<li>
<a href="'.site_url('activity/view/'.$row->activity_id).'"> <i class="fa fa-file"></i> View </a> </li>').'
</ul></div>';
所以,如何解决它。
答案 0 :(得分:0)
if
构造在连接表达式中不起作用,因为它不返回值。您可以改为使用ternary operator:
generate_button('activity', 'edit',
'<li class="' . ($row->status==1 ? 'hidden' : '') . '">...');
另一个问题是错误的引号顺序(或未转义的引号,如果你愿意的话):
'<li class='". if('.$row->status==1).'{echo 'hidden'}"'>...'
固定版本:
'<li class="' . ($row->status==1 ? 'hidden' : '') . '">...'
最后,考虑使用Smarty等模板引擎,而不是将HTML与PHP混合使用。