codeigniter解析模板中的内容

时间:2016-04-14 13:29:15

标签: php codeigniter parsing templates view

有人可以帮我解释一下哪种方式最好在codeigniter中组织视图,并制作一些模板,其中页眉和页脚将相同但每个页面的内容都要更改?我使用parse从控制器发送数据到视图,但不知道如何以描述的方式组织视图。

另外如何避免视图中的php逻辑(如果)?

2 个答案:

答案 0 :(得分:0)

如果您没有使用模板库,有两种方法:

<强> 1。在您的内容视图中请求您的部分观看次数

function setDimensions(obj) {  
    obj.css('position', 'absolute');
    obj.css("left",parseInt(obj.css("left")) / ($container.width() / 100)+"%");
    obj.css("top",parseInt(obj.css("top")) / ($container.height() / 100)+"%");  
    obj.width(((obj.innerWidth() - obj.css('borderWidth')) / $container.width()) * 100 + '%');
    obj.height(((obj.innerHeight() - obj.css('borderWidth')) / $container.height()) * 100 + '%');
}

<强> 2。创建布局视图,将内容作为变量传递:

<?php $this->load->view('header') ?>
My content
<?php $this->load->view('footer') ?>

在这种情况下,在您的控制器中:

<html>
<body>
<?php echo $content ?>
</body>

在询问逻辑时,不要过于严格。 // The true parameter means it will load the view, but just pass back as a string $content = $this->load->view('mycontent', array(), TRUE); // Display the layout with your content $this->load->view('layout', compact('content')); iffor在模板中没问题。例如,如果用户已登录,则显示菜单。

答案 1 :(得分:0)

这可能对你有关模板的帮助。

控制器:

public function index() {
  $data = array(
    'blog_title' => 'Home',
    'blog_content'  => 'Content goes here..',
    'footer_data'   => 'footer data here..'      
  );

 $this->load->view(templates/header, $data);
 $this->load->view(templates/content, $data);
 $this->load->view(templates/footer, $data);
}

注意:假设模板是views文件夹中的目录。模板内部必须是header,content和footer.php文件。