@Ghost2692

Можно сделать что-то похожее в панель управлении?

Можно сделать что-то похожее в панель управлении?
Особенно где копировать, переместить или иные действия но желательно без Grid.
Можете привести образец кода на Yii2 или где можно почитать как сделать такое.
5a6cf2cc3f09c494532984.png5a6cf2d5e2b3d288900025.png

P.S.
Меня не интересует верстка, а интересует форма отправки чекбоксах вместе с выбором определенного действия для выбранных чекбоксов как переместить, копировать, и другие.
$changeOnUnsubscribed = new ContactList();
        if ($changeOnUnsubscribed->load(Yii::$app->request->post())) {
            $contactId = ContactList::find()->where(['contact_id' => $id])->all();
            foreach ($contactId as $id) {
                $count = count($changeOnUnsubscribed->selected_checkbox);
                for ($i = 1; $i < $count; $i++) {
                    $item = $changeOnUnsubscribed->selected_checkbox[$i];
                    if ($item != 0) {
                        if ($item == $id->id) {
                            $ids = ContactList::findOne($id->id);
                            $ids->status = 0;
                            $ids->save(false);
                        }
                    }
                }
            }
        }

//        delete all selected contact
        $deleteContacts = new ContactList();
        if ($deleteContacts->load(Yii::$app->request->post())) {
            $contactId = ContactList::find()->where(['contact_id' => $id])->all();
            foreach ($contactId as $id) {
                $count = count($deleteContacts->selected_checkbox);
                for ($i = 1; $i < $count; $i++) {
                    $item = $deleteContacts->selected_checkbox[$i];
                    if ($item != 0) {
                        if ($item == $id->id) {
                            $ids = ContactList::findOne($id->id);
                            $ids->delete();
                        }
                    }
                }
            }
        }

первый меняет статус на 0 а второй удаляет запись
<?php if ($contactList) { ?>
                    <?php $form = ActiveForm::begin([
                        'method' => 'post',
                        'id' => 'checkbox-contact',
                        'options' => ['class' => 'form-inline']
                    ]); ?>
                    <?php foreach ($contactList as $contact): ?>
                        <tr>
                            <td>
                                <?= $form->field($selectContact, 'selected_checkbox[]')->checkbox(['id' => $contact->id, 'class' => 'checkbox-contact-list form-check-input position-static', 'value' => $contact->id, 'label' => null]) ?>
                            </td>
 <?php endforeach; ?>
//modal window
$items = ArrayHelper::map($groupContactList,'id','name_group');
$params = [ 'prompt' => Yii::t('app', 'Choose...') ];
echo $form->field($selectContact, 'group')->dropDownList($items,$params)->label(Yii::t('app', 'Select a group') . ':', ['class' => 'col-form-label']);

проблема в том что есть одна форма, и много модальных окон (копировать, переместить и другие) для отправки данных в соответствии отправляются все данные удалить или переместить а выполняется только останий код.
Как я понимаю в php можно отправить только одну форму а не 2 или больше.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Можно сделать что-то похожее в панель управлении?

В yii2 нет панели управления, опишите, что Вы подразумеваете под этим термином. Но скрине обычная таблица, с каким-то шаблоном, похожим на https://adminlte.io/themes/AdminLTE/index2.html Но это вопрос верстки, а не yii.

Особенно где копировать, переместить

Что?

Можете привести образец кода на Yii2 или где можно почитать как сделать такое

Наверняка, понять бы какое такое? Есть подозрение, что Вас интересуют ui элементы, но они реализуются на front-е, а yii - это backend framework. Вы видимо путаете верстку с backend-ом. Если "хочу что бы выглядело так" - это js+html+css.

желательно без Grid

А grid тут при чем и опять таки это вопрос верстки. Вы хотите сменить обои, но почему-то разобрали холодильник. Эти вещи никак не связаны.
Ответ написан
Комментировать
@Ghost2692 Автор вопроса
Меня не интересует верстка, а интересует форма отправки чекбоксах вместе с выбором определенного действия для выбранных чекбоксов как переместить, копировать, и другие.
$changeOnUnsubscribed = new ContactList();
        if ($changeOnUnsubscribed->load(Yii::$app->request->post())) {
            $contactId = ContactList::find()->where(['contact_id' => $id])->all();
            foreach ($contactId as $id) {
                $count = count($changeOnUnsubscribed->selected_checkbox);
                for ($i = 1; $i < $count; $i++) {
                    $item = $changeOnUnsubscribed->selected_checkbox[$i];
                    if ($item != 0) {
                        if ($item == $id->id) {
                            $ids = ContactList::findOne($id->id);
                            $ids->status = 0;
                            $ids->save(false);
                        }
                    }
                }
            }
        }

//        delete all selected contact
        $deleteContacts = new ContactList();
        if ($deleteContacts->load(Yii::$app->request->post())) {
            $contactId = ContactList::find()->where(['contact_id' => $id])->all();
            foreach ($contactId as $id) {
                $count = count($deleteContacts->selected_checkbox);
                for ($i = 1; $i < $count; $i++) {
                    $item = $deleteContacts->selected_checkbox[$i];
                    if ($item != 0) {
                        if ($item == $id->id) {
                            $ids = ContactList::findOne($id->id);
                            $ids->delete();
                        }
                    }
                }
            }
        }

первый меняет статус на 0 а второй удаляет запись
<?php if ($contactList) { ?>
                    <?php $form = ActiveForm::begin([
                        'method' => 'post',
                        'id' => 'checkbox-contact',
                        'options' => ['class' => 'form-inline']
                    ]); ?>
                    <?php foreach ($contactList as $contact): ?>
                        <tr>
                            <td>
                                <?= $form->field($selectContact, 'selected_checkbox[]')->checkbox(['id' => $contact->id, 'class' => 'checkbox-contact-list form-check-input position-static', 'value' => $contact->id, 'label' => null]) ?>
                            </td>
 <?php endforeach; ?>
//modal window
$items = ArrayHelper::map($groupContactList,'id','name_group');
$params = [ 'prompt' => Yii::t('app', 'Choose...') ];
echo $form->field($selectContact, 'group')->dropDownList($items,$params)->label(Yii::t('app', 'Select a group') . ':', ['class' => 'col-form-label']);

проблема в том что есть одна форма, и много модальных окон (копировать, переместить и другие) для отправки данных в соответствии отправляются все данные удалить или переместить а выполняется только останий код.
Как я понимаю в php можно отправить только одну форму а не 2 или больше.
Ответ написан
Ваш ответ на вопрос

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

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