phpcodeigniterbootstrap-dialog

BootstrapDialog Alert in Codeigniter Controller


I want to use bootstrapDialog alert (https://nakupanda.github.io/bootstrap3-dialog/) instead of default alertbox of browser in my controller but its not working.

I included these scripts I got from the github dist folder in the bottom of view

<link rel="stylesheet" href="assets/css/bootstrap-dialog.min.css" />
<script src="assets/js/bootstrap-dialog.min.js"></script>

Controller

function student(){

  if ($student_status == 'paid'){
    echo '<script type="text/javascript">';
    echo 'BootstrapDialog.alert('Your Registration was successful')';
    echo '</script>';
  }
 else {
    //  redirect url
  }
}

I also tried to echo the css and js files in the controller but failed. If I echo the default alertbox, it works, please what could I be doing wrong?


Solution

  • Bootstrap dialog is built on Bootstrap, so you must include bootstrap css and bootstrap js, followed by the bootstrapDialog css and js

     <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
    
    <!-- Latest compiled and minified JavaScript -->
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
    

    http://jsfiddle.net/mreis1/YJdB7/1/

    For Example

    View:

    <!DOCTYPE html>
    <html>
    <head>
    
      <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.1/css/bootstrap-dialog.min.css" rel="stylesheet" type="text/css" />
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.35.1/js/bootstrap-dialog.min.js"></script>
    
      <title>Bootstrap Dialog Test</title>
    </head>
    
    <body>
    <!-- IF SUCCESSFUL -->
    <?php $alert= ''; ?>
    <?php   if ($alert == 'success'): ?>
    
    <script type = "text/javascript">
    BootstrapDialog.alert('Your Registration was Successful');
    </script>
    
    <?php endif; ?>
    
    <!-- IF FAILED -->
    
    <?php   if($alert == 'failed'): ?>
    
    <script type = "text/javascript">
    BootstrapDialog.alert({
                title: 'An Error Occured',
                message: 'Your Registration failed',
                type: BootstrapDialog.TYPE_DANGER,
                buttonLabel: 'Close'
    
            });
    
    </script>
    <?php endif; ?>
    
    </body>
    </html>
    

    Controller:

    function student(){
    
      if ($student_status == 'paid'){
        $data['alert'] = 'success';
      }
     else {
        $data['alert'] = 'failed';
      }
      $this->load->view(view_page, $data);
    }
    

    Output:

    Success Alert

    Failed Alert