DavidP
DavidP

Reputation: 63

yii2 boostrap 5 and modal

Edit: I discovered that if i do a clean install, the modal works, and it's after adding hail812/yii2-adminlte3 that the modal system won't work anymore... but i don't find what create this,

original:

little question, does any of you use yii/boostrap5/modal and succeed to render ajax form in a modal ? Because my code used with the older bootstrap won't work.. and i don't find how the new yii/bootstrap5/modal works...

here is my code

<?php
 yii\bootstrap5\Modal::begin([
  'id' => 'modal',
  'size' => 'modal-lg',
   //keeps from closing modal with esc key or by clicking out of the modal.
   // user must click cancel or X to close
  'clientOptions' => ['backdrop' => 'static', 'keyboard' => TRUE]
  ]);
  echo '<div id="modalContent"></div>';
  yii\bootstrap5\Modal::end();
?>

<?php
  $this->registerJs( <<< EOT_JS_CODE
  $(function(){
  // changed id to class
  $('.modalButton').click(function (e){
    e.preventDefault();
      $.get($(this).attr('href'), function(data) {
        $('#modal').modal('show').find('#modalContent').html(data)
     });
     document.getElementById('modalHeader').innerHTML = '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4>' +     $(this).attr('title') + '</h4>';
   return false;
  });
});
EOT_JS_CODE

);
?>

the link i use to open the modal:

  <?= Html::a(Yii::t('app', 'Ajouter'), ['create-categorie'], ['class' => 'btn btn-success modalButton','title'=>'Nouvelle catégorie']) ?>

And my code in my controller

  public function actionCreateCategorie()
{
  $model = new Categorie();
  if ($model->load(Yii::$app->request->post())) {
      $model->created_at = strtotime('now');
      $model->updated_at = strtotime('now');
      if( $model->save()){
        return 'success';
      }else{
        return 'error';
      }
  }

  return $this->renderAjax('create-categorie', [
      'model' => $model,
  ],false, true);
}

my console with a strange error i don't get enter image description here

Upvotes: 0

Views: 1240

Answers (1)

DavidP
DavidP

Reputation: 63

Thank you all for your helps. Something wasn't right with my installation. I began with a new fresh install, then reused my code, and everything is fine then.

Kind regards

Upvotes: 0

Related Questions