【问题标题】:How to show a specific div in a view from controller in Codeigniter?如何在 Codeigniter 的控制器的视图中显示特定的 div?
【发布时间】:2016-04-21 09:15:01
【问题描述】:

我试图在一个视图中使用两个 div。如果我以用户身份登录,我想显示名为“用户”的 div。如果以管理员身份登录,我想加载一个名为 'admin' 的 div 视图。我想在 CodeIgniter 中做到这一点。 我的示例代码如下,

if ($Admin == 0)
{
    $data['visible']=$this->login_model->show_menu();
}
else
{
    echo "I'm Admin";
    $this->load->view('home');  
}

【问题讨论】:

  • 你可以在你的视图中给出变量。文档:$data['page_title'] = 'Your title'; $this->load->view('content', $data);

标签: php codeigniter


【解决方案1】:

取2个变量

$showAdmin$showUser

在控制器中

function showView() {
 $showAdmin = FALSE;
 $showUser = FALSE;
 if ($isAdminLoggedInYourCode) {
  $showAdmin = TRUE;
 }
 else if ($isUserLoggedInYourCode) {
  $showUser = TRUE;
 }
 $data['showAdmin'] = $showAdmin;
 $data['showUser'] = $showUser;
 $this->load->view('home', $data); 
}

在视图中,

if ($showAdmin) {
 // Show Admin div
}
else if ($showUser) {
 // Show User div
}

【讨论】:

    【解决方案2】:

    文档:http://www.codeigniter.com/user_guide/general/views.html

    向视图添加动态数据 让我们用你的控制器文件试试。打开它添加以下代码:

    <?php
    class Blog extends CI_Controller {
    
        function index()
        {
            $data['title'] = "My Real Title";
            $data['heading'] = "My Real Heading";
    
            $this->load->view('blogview', $data);
        }
    }
    ?>
    

    现在打开您的视图文件并将文本更改为与数据中的数组键对应的变量:

    <html>
    <head>
    <title><?php echo $title;?></title>
    </head>
    <body>
        <h1><?php echo $heading;?></h1>
    </body>
    </html>
    

    所以,在你的情况下,你可以这样做:

    if ($Admin == 0)
    {
        $data['visible']=$this->login_model->show_menu();
    }
    else
    {
        $data['visible']='admin';
        echo "I'm Admin";
        $this->load->view('home', $data);  
    }
    

    在你看来:

    if($visible == 'admin') {
        echo '<div>Your admin display</div>';
    }
    else {
        echo '<div>',$visible,'</div>';
    }
    

    【讨论】:

    【解决方案3】:

    你试过了吗?

    if ($Admin == 0)
    {
        $data['visible']=$this->login_model->show_menu();
    }
    else
    {
        echo "I'm Admin";
        $this->load->view('home');  
    }
    

    【讨论】:

      【解决方案4】:

      为用户和管理员使用两个不同的视图

      class MY_Controller extends CI_Controller 
      {
      
          public function index()
          {
              $data = getSomeStuff(); 
              $admin = checkAdmin();
      
              if($admin == 0) {
                  $this->load->view('user', $data);
              } else {
                  $this->load->view('admin', $data);
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-31
        • 2015-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多