在模板中使用Page $数据变量

时间:2014-11-11 17:44:16

标签: php codeigniter codeigniter-2

有没有办法在它加载的模板中使用页面$ data变量?

例如 - 如果我有一个像这样的头的模板:

<!DOCTYPE html>
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
  <title><?php echo $data['title']; ?> | ACME, Inc.</title>
</head>

我的视图是页面/主页,控制器看起来像这样:

 public function index($data) {


$data = array();
            $data['title'] = 'Home';

        $this->load->view('pages/home', $data);
}

如何获取父模板或兄弟视图以获取页面的变量?

1 个答案:

答案 0 :(得分:2)

我通常在页面

中使用下面的代码来处理元数据

在控制器中:

 $page = new stdClass();
        $page->title = "Your Page Title";
        $page->desc = "Your page description";
        $page->key = "keword1,keyword2,keyword3";
        $page ->author = "Alex";

 $data['page'] = $page;
 $this->load->view('pages/home', $data);

在视图中

<title><?php
if(isset($page->title)){
echo $page->title;
}
?></title>
<meta name="description" content="<?php
if(isset($page->desc)){
echo $page->desc;
}
?>"/>
<meta name="keywords" content="<?php
if(isset($page->key)){
echo $page->key;
}
?>"/>
<meta name="author" content="<?php
if(isset($page->author)){
echo $page->author;
}
?>"/>
content="<?php
if(isset($page->desc)){
echo $page->desc;
}
?>"/>

这对于没有冲突的变量和易于使用是安全的。