在所有视图中,我都需要在整个站点中访问$ data []变量。我创建了TestLeangue控制器,并为$ data分配了一些值,但在所有视图中都说未定义变量
class TestLanguage extends MY_Controller
{
public function __construct() {
parent::__construct();
$this->lang->load("menu","english");
}
function index() {
$data['shipping'] = $this->lang->line('menu_shipping');
$this->load->view('templates/navigation', $data);
}
}
我回声说我有未定义的变量。
<?= $shipping; ?>
答案 0 :(得分:0)
使用$ data的索引作为变量名( $ shipping ),以获取已分配为$data['shipping']
的值
控制器
class TestLanguage extends MY_Controller
{
public function __construct() {
parent::__construct();
$this->lang->load("menu","english");
}
function index() {
$data['shipping'] = $this->lang->line('menu_shipping');
$this->load->view('templates/navigation', $data);
}
}
查看:模板/导航
<?php
print_r($shipping);
?>
答案 1 :(得分:0)
为什么不像全局变量那样使用这些数据?
class MY_Controller extends ...
{
protected $data = [];
}
然后,每次扩展自定义控制器时,您都可以访问常规数据。
class MyCustomStackOverflowController extends MY_Controller
{
public function index()
{
$this->load->view('index', $this->data);
}
}
此外,您可以使用$this->data
向其加载当前控制器的常规信息,例如:
class MyCustomStackOverflowController extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->data['title'] = 'Stackoverflow';
}
public function index()
{
...
}
}