Ballly
@Ballly

TreeGrid как убрать и оставить кнопки при определенном условии?

Всем здравствуйте! Обращаюсь с таким вопросом, возможно ли как-нибудь написать условие, чтобы у родительской категории "Рабочее место пользователя" кнопки были как и есть сейчас, а вот у дочерних категорий были только удаление и редактирования, без кнопки добавления?
5c120ae32353f270766116.png
<?= TreeGrid::widget([
    'columns' => [  
        'name',
        [
            'class' => 'yii\grid\ActionColumn',
            'contentOptions' => ['style' => 'white-space: nowrap; text-align: center; letter-spacing: 0.1em; max-width: 7em;'],
            'template' => ($data->parent_id) ? ('{add}') : ('{update} {delete} {add}'), //'{update} {delete} {add}'
            'buttons' => [
                'add' => function ($url, $model, $key)
                {
                    return Html::a('<span class="glyphicon glyphicon-plus"></span>', $url);
                },
            ]
        ],
    ],
]); ?>
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Доброе утро.
Можно попробовать сделать так. Если у категории нет родительского id, то это родительская категория - кнопку показывать. Если есть родительский id, то есть он не равен null, 0 или ещё чему-то, что говорит о том, что это дочерняя категория - кнопку не показывать.
'buttons' => [
       'add' => function ($url, $model, $key)
       {
           if($model->category_id == 0){
               return Html::a('<span class="glyphicon glyphicon-plus"></span>', $url);
           }
       },
 ]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы