我在CodeIgniter中有一个Controller,代码如下:
$this->load->view("first");
echo "LOL";
$this->load->view("second");
但奇怪的是,当呈现页面时,HTML是:
LOL
<div id="firstView"></div>
<div id="secondView"></div>
我不知道是什么导致这些陈述的重新排序。有什么建议?我可能忽视了什么吗?
答案 0 :(得分:7)
最后在代码点火器中渲染视图。 如果你想要随时渲染它们,你可以做到
echo $this->load->view("first", array(), true);
echo "LOL";
echo $this->load->view("second", array(), true);
答案 1 :(得分:3)
很简单:
$this->load->view("...");
不会立即显示视图。这发生在后面,MVC框架的好处之一。
答案 2 :(得分:3)
要实现您的目标,您必须将第三个参数传递给函数$ this-&gt; load-&gt; view(...),表示您将在变量中接收视图,而不是立即展示它。
像这样:
echo $this->load->view("first", NULL, TRUE);
echo "LOL";
echo $this->load->view("second", NULL, TRUE);
查看第三个参数TRUE(第二个是您要传递给它的所有变量)。 不要忘记用echo打印视图的结果。如果您想要存储视图并对其进行处理,或者按照您希望的顺序打印它们,这非常有用。
答案 3 :(得分:1)
这是一种更优雅的方式:
$this->load->view("first");
$this->output->append_output("LOL");
$this->load->view("second");
使用此功能可以将预先写好的$ this-&gt; load-&gt;视图语句重写为回声。希望它有所帮助。