【发布时间】:2013-03-24 21:17:38
【问题描述】:
我正在使用 Codeigniter,并定义了包含我的布局的自己的控制器
protected $layout = 'layout';
protected function render($content) {
$view_data = array(
'content' => $content
);
$this->load->view($this->layout,$view_data);
}
所有控制器都通过调用视图来扩展这个控制器来定义自己的内容
class Voyage extends My_Controller {
function index(){
$this->load->helper('form');
$this->load->helper('url');
$content = $this->load->view('admin\voyages');
$this->render($content);
}
我的html页面是这样的:
<body>
<header>.....</header>
<nav>......</nav>
<section>.. <?php echo $content; ?>...</sectiont>
问题是我的 echo $content 将内容放在页眉和导航元素之前的页面顶部。
你能帮我解决这个问题吗?
【问题讨论】:
-
似乎是一个经典的缓存问题。尝试在开发过程中禁用缓存,或者至少清空它和/或强制重新加载您的页面。
-
除此之外;不久前我也遇到了一个问题,似乎 CodeIgniter 会堆叠所有
load-view()调用,有时会触发错误排列的输出。就我而言,它突然自己解决了(我认为也清空了缓存)。否则,可能是 CodeIgniter 在一次控制器调用中从不同类中获取load->view()时遇到问题。 -
你确定这不是 CSS 的东西吗?
float: left什么的?顺便提一句。你能发布voyages.php和layout.php的内容吗?
标签: php codeigniter buffer echo