我有一个thank_you.php文件,其中只包含字符串“谢谢”。格式化为成功/绿色。
我想在网站的一个特定区域显示这个文本,但不确定如何去做。在我的主视图文件中,我添加了下面这行:
<?php $this->template->add_region('success'); ?>在“提交”按钮旁边。
在我的控制器中,我有一个函数,一旦被调用,就应该显示视图文件"thank_you.php“。
function greeter_thank_you() {
$this->template->write_view('success', 'thank_you.php');
}我有标准的$alert、$content、$main等。区域,但是如何将这个视图文件回显到另一个视图文件中呢?有没有其他方法可以让我这样做呢?
发布于 2013-07-16 05:53:51
您似乎正在使用Collin Williams' CI Template library。
据我所知,您不能在一个区域中定义另一个区域,因此最好将内部区域(您称之为success)的值发送到main区域中。
$this->template->write();方法将内容写入main区域:使用$this->load->view('thank_you', '', TRUE);获取thank_you视图文件的内容,并将其放置在write()的第二个参数内。
如果您使用的是$this->template->write_view()方法,请使用
使用以下内容:
$data = array(
'foo' => 'bar',
'baz' => 'qux',
'success' => $this->load->view('thank_you', '', TRUE)
);
$this->template->write_view('main', 'main_region_view_file_here', $data/*, TRUE*/);并在main地域的视图文件中添加以下内容:
if (! empty($success)) {
echo $success;
}我没有任何使用Collin Williams的模板库的经验,但我认为这可能会有用。
顺便说一下,如果你有什么问题,我洗耳恭听!
发布于 2013-07-16 03:31:27
如果要将一个视图文件加载到另一个视图文件中。
只需输入
$this->load->view('FolderPath/FileNameHere');我希望它能解决你的问题。
编辑:
或者在对Button执行某些操作后,要加载另一个视图。您可以将按钮重定向到该控制器。在那里你可以写上一行。
如果它是一个锚定按钮,只需将<a class="BtnClass" href="ControllerPathHere">Submit</a>
如果您使用的是模板库,请详细介绍。
发布于 2013-07-16 04:30:23
在控制器中,您希望将视图输出缓冲到一个变量,并将变量传递给模板。view方法中的第三个参数允许您将视图输出作为字符串返回。
$viewData = array(
'main' => $this->load->view('thank_you.php', '', true)
);
$this->load->view('template.php', $viewData);
// access the main template data with $main in template.php请参阅此页面的底部:http://ellislab.com/codeigniter/user-guide/general/views.html
https://stackoverflow.com/questions/17661371
复制相似问题