Хотите создать условное действие форматирования / строки с помощью jQuery Bootgrid.Например, если задано определенное значение в данных PHP, отображается форматер, в противном случае - нет.Я не могу найти какую-либо документацию или предыдущие вопросы о стековом потоке, которые касаются этого.
РЕДАКТИРОВАТЬ:
Мой текущий способ сделать это в моем контроллере выглядит так:
$actions = array(
'override' => array(
'icon' => 'flare red',
'link' => '/edit',
'perm' => 'Edit',
'title' => '...',
'condition_and' => array(
'status' => array(
'column' => 'status !=',
'value' => 'Suspended'
),
'registered' => array(
'column' => 'reg ==',
'value' => 'Yes'
)
),
'disabled_icon' => 'flare grey',
'disabled_title' => '...'
)
);
В функции, которая затем генерирует сетку, я интерпретирую эти настройки при циклическом просмотре данных.Единственная часть, которая по-прежнему хакерская, на мой взгляд, это когда я перебираю данные с помощью PHP, а затем создаю строку JS, соответствующую условию:
if (!empty($vv['condition_and']))
{
$check_cond = '+(';
foreach ($vv['condition_and'] as $conk => $conv)
{
$check_cond .= '(row.' . $conv['column'] . ' ' . $conv['operator'] . ' "' . $conv['value'] . '") && ';
}
$check_cond = rtrim($check_cond, ' && ');
$out .= '"\
"' . $check_cond . ' ? "\
<a style=\"margin-right: 8px\" href=\"' . base_url() . $vv['link'] . '/" + row.id + "\"><i title=\"' . $vv['title'] . '\" class=\"zmdi zmdi-hc-lg zmdi-' . $vv['icon'] . '\"></i></a>" : "\
<i style=\"margin-right: 8px;\" title=\"' . $vv['disabled_title'] . '\" class=\"zmdi zmdi-hc-lg zmdi-' . $vv['disabled_icon'] . '\"></i>")+"\
" + ';
}
Но если нет четкого способа сделать этоэто лучше, я просто буду придерживаться этого пока.