CodeIgniter从另一个视图通过控制器加载视图
出于此处提及的安全原因http://codeigniter.com/user_guide/installation/index.html我已将系统和应用程序文件夹放在另一个名为OSW_appnsys的文件夹中,该文件夹位于Web根文件夹之上。现在我在下面的目录中有一个名为'Pages'的控制器类和一个'View'函数。CodeIgniter从另一个视图通过控制器加载视图
C:\wamp\www\OSW_appnsys\application\controllers
现在,当我打电话从另一个视图文件的控制器“页数”所谓“的header.php”我收到404错误这样
The requested URL /CodeIgniter_2.1.2/pages/view/products was not found on this server.
,其中产品的“查看”方法是URI。
我打电话来是这样的:
<a class="mainmenu" href="<?php echo base_url('pages/view/products')?>">Products</a>
任何帮助将得到高度赞赏。泰
试试这个锚标记
base_url().'index.php/pages/view'
和负载视图products.php
你不链接到一个视图,您链接到一个控制器的名称。如果您的控制器被命名为“页数”,你要链接到:
<a class="mainmenu" href="<?php echo base_url('pages/controllers/products')?>">Products</a>
假设你已经把你的控制器在“页/控制器/”文件夹中。在控制器命名为“页”您加载视图(文件名为products_view.php什么的,这是你的意见文件夹),像这样:
$this->load->view('products_view.php');
感谢德克应用程序和系统文件夹中。工作 – Saaram 2012-08-15 13:17:50
看来你可能已经明白笨是如何工作的。
如上所述,您的配置文件中,你将有
$application_folder = 'application';
$system_folder = 'system';
这些变化对
$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';
那么你的浏览器指向其中CodeIgniter的index.php文件中存在的URL。
即
\
\OSW_appnsys
\OSW_appnsys\application
\OSW_appnsys\system
\htdocs
\htdocs\index.php
经由
http://localhost/index.php
此外,访问控制器或视图时,只需访问该控制器名称。即
<a href="<?php echo site_url('pages/view'); ?>">Go to page</a>
然后,你将有一个View操作页面控制器内这将做
<?php
class Pages extends CI_Controller {
public function view()
{
echo $this->load->view('pages/view');
}
}
?>
,如果我直接通过完整的目录链接访问控制器类,然后我得到的错误“紫禁城。您没有权限访问应用程序文件夹“ – Saaram 2012-08-14 11:57:02
如果视图是您的方法的产品参数的方法? – 2012-08-14 12:01:41
产品是一个视图文件products.php – Saaram 2012-08-14 12:04:04