2012-08-14 124 views
0

出于此处提及的安全原因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> 

任何帮助将得到高度赞赏。泰

+0

,如果我直接通过完整的目录链接访问控制器类,然后我得到的错误“紫禁城。您没有权限访问应用程序文件夹“ – Saaram 2012-08-14 11:57:02

+0

如果视图是您的方法的产品参数的方法? – 2012-08-14 12:01:41

+0

产品是一个视图文件products.php – Saaram 2012-08-14 12:04:04

回答

2

试试这个锚标记

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'); 
+0

感谢德克应用程序和系统文件夹中。工作 – Saaram 2012-08-15 13:17:50

0

鉴于功能控制器

+0

仍然无法工作 – Saaram 2012-08-14 12:14:32

+0

你能否在index.php文件中显示你提到的$ application_folder ='和$ system_folder ='' – Anu 2012-08-14 12:31:30

+0

是的,同时检查你的.htaccess,你指定的ReWriteBase – 2012-08-14 12:32:33

1

看来你可能已经明白笨是如何工作的。

如上所述,您的配置文件中,你将有

$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'); 
    } 
} 
?> 
相关问题