【发布时间】:2026-02-06 19:30:01
【问题描述】:
我想将一些 html 代码分配给变量,并且该变量在控制器中。
headerview.php
<header id="header" class="header">
<div class="container">
<!-- LOGO -->
<div class="logo"><a href="<?php echo base_url()?>admin/Adminhome"><img src="<?php echo base_url()?>public/images/logo.png" alt=""></a></div>
<!-- END / LOGO -->
<!-- NAVIGATION -->
<nav class="navigation">
<div class="open-menu">
<span class="item item-1"></span>
<span class="item item-2"></span>
<span class="item item-3"></span>
</div>
<!-- MENU -->
<ul class="menu">
<?php if($isAdmin ){ ?>
<?php
if($title=='Dashboard'){
?>
<li class="current-menu-item"><a href="<?php echo base_url()?>admin/Adminhome">Admin Dashboard</a></li>
<?php
}else{
?>
<li><a href="<?php echo base_url()?>admin/Adminhome">Admin Dashboard</a></li>
<?php
}
?>
<?php } else { ?>
<?php
if($title=='Dashboard'){
?>
<li class="current-menu-item"><a href="<?php echo base_url()?>admin/Userhomepage">User Dashboard</a></li>
<?php
}else{
?>
<li><a href="<?php echo base_url()?>admin/Userhomepage">User Dashboard</a></li>
<?php
}
?>
<?php } ?>
<?php
if($title=='Courses' || $title=='Add/Edit Categories' || $title=='Upload Manager'){
?>
<li class="current-menu-item">
<a href="<?php echo base_url()?>admin/Coursedetails/courses">Courses</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Categories">Categories</a></li>
<li><a href="<?php echo base_url()?>admin/coursedetails/courses">Courses</a></li>
<li><a href="<?php echo base_url()?>admin/uploadmanager">Upload Manager</a></li>
</ul>
</li>
<?php
}else{
?>
<li>
<a href="<?php echo base_url()?>admin/Coursedetails/courses">Courses</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Categories">Categories</a></li>
<li><a href="<?php echo base_url()?>admin/coursedetails/courses">Courses</a></li>
<li><a href="<?php echo base_url()?>admin/uploadmanager">Upload Manager</a></li>
</ul>
</li>
<?php
}
?>
<?php
if($title=='Users' || $title=='User Roles' || $title=='Subscription'){
?>
<li class="current-menu-item">
<a href="<?php echo base_url()?>admin/Users">Users</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Roles">Roles</a></li>
<li><a href="<?php echo base_url()?>admin/Subscription">Subscription</a></li>
</ul>
</li>
<?php
}else{
?>
<li>
<a href="<?php echo base_url()?>admin/Users">Users</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Roles">Roles</a></li>
<li><a href="<?php echo base_url()?>admin/Subscription">Subscription</a></li>
</ul>
</li>
<?php
}
?>
<?php
if($title=='Sales' || $title=='Payout Details'){
?>
<li class="current-menu-item">
<a href="<?php echo base_url()?>admin/Transaction">Sales</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Transaction">Transactions</a></li>
<li><a href="<?php echo base_url()?>admin/Transaction/payout">Payouts</a></li>
</ul>
</li>
<?php
}else{
?>
<li>
<a href="<?php echo base_url()?>admin/Transaction">Sales</a>
<ul class="sub-menu">
<li><a href="<?php echo base_url()?>admin/Transaction">Transactions</a></li>
<li><a href="<?php echo base_url()?>admin/Transaction/payout">Payouts</a></li>
</ul>
</li>
<?php
}
?>
</ul>
<!-- END / MENU -->
<!-- LIST ACCOUNT INFO -->
<ul class="list-account-info">
<!-- MESSAGE INFO -->
<!-- END / MESSAGE INFO -->
<!-- NOTIFICATION -->
<!-- END / NOTIFICATION -->
<li class="list-item account">
<?php
$userId=$this->session->userdata('cp_adminid');
$profilePic="";
$userQ=$this->Adminmodel->getuser();
foreach ($userQ->result() as $rowuser){
$profilePic=$rowuser->profilePic;
}
?>
<div class="account-info item-click">
<?php if($profilePic!=''){ ?>
<img alt="" src="<?php echo base_url();?>private/<?php echo $userId;?>/<?php echo $profilePic;?>">
<?php }else{?>
<img src="<?php echo base_url()?>public/images/default-profile_pic.png" alt="">
<?php }?>
</div>
<div class="toggle-account toggle-list">
<ul class="list-account">
<li><a href="<?php echo base_url()?>admin/settings/"><i class="icon md-config"></i>Setting</a></li>
<li><a href="<?php echo base_url()?>admin/Adminlogout"><i class="icon md-arrow-right"></i>Sign Out</a></li>
</ul>
</div>
</li>
</ul>
<!-- END / LIST ACCOUNT INFO -->
</nav>
<!-- END / NAVIGATION -->
</div>
</header>
此标头出现在应用程序的所有页面中。所以我希望它分配一些名为headerContent 的变量,它位于Admin_controller 中。该渲染函数从任何其他扩展 Admin_controller 的控制器调用,然后将 headeview 加载到该页面。
Admin_controller
class Admin_controller extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->model("Adminmodel","",true);
$headerview = 'headerview';
$this->render($headerview); # calling render() function in same class
}
protected $headerview = 'headerview';
protected function render($headerContent) {
$view_data = array( 'headerContent' => $headerContent);
$this->load->view($this->headerview);
}
}
下面的另一个扩展 Admin_controller 的控制器调用了这个 render 函数。
Adminhome_controller.php
<?php
require APPPATH . '/controllers/admin/Admin_controller.php';
class Adminhome extends Admin_Controller{
public function __construct(){
parent::__construct();
$this->load->model("Adminmodel","",true);
public function index(){
$data['content']=$this->load->view("admin/adminhomeview",'',true);
$data['title']='Dashboard';
$adminId=$this->session->userdata('cp_adminid');
$permissions=$this->Adminmodel->getpermissions($adminId);
$row = $permissions->row();
$data['isAdmin'] = 0;
if($row->view == 1 or $row->add == 1 or $row->edit == 1 or $row->deleteRole == 1 ){
$data['isAdmin'] = 1;
}
$this->render($headerContent);
// $this->load->view("admin/headerview",$data);
}
}
?>
但它显示错误,如 Message: Undefined variable: headerContent in Adminhome_controller.php。
【问题讨论】:
-
在尝试在
Adminhome_Controller中使用变量之前,您没有定义变量$headerContent。 -
您从哪里获得 $headerContent 的价值?我认为您可能将实例变量称为局部变量是您的问题。像 $this->headerContent 这样调用
-
我想将该
标记分配给 headerview.php 中存在的 headerContent 变量。
标签: php html codeigniter-3