我想在CakePHP 2中创建新页面。我添加了两个文件:
应用程序/控制器/ productsimport_controller.php
包含:
<?php
class ProductsimportController extends AppController
{
function admin_index()
{
}
function isAuthorized()
{
return true;
}
}
和
应用程序/视图/ productsimport / admin_index.ctp
包含:
<h2>Hello!</h2>
但我总是看不到这个页面,而是前一页,我以前的位置。例如,如果我在/admin/users
,如果我转到/admin/users/
,我仍会看到/admin/productsimport
。或者有时404 page
,但不是我想要的。
我可能忘记添加一些东西以使其有效吗?
答案 0 :(得分:0)
您到控制器方法的默认路线为/productsimport/*
,因此要访问您想要的网页,网址为/productsimport/admin_index
。
当您尝试输入/admin/productsimport
时,Cake执行的操作是检查productsImport()
内的AdminsController
方法,它不存在,因此会呈现索引。
您可以在路由器中更改此行为
答案 1 :(得分:0)
您的问题似乎是路由问题,听起来您没有/admin/productsimport
的路由设置。
如果您希望控制器中以admin_
为前缀的所有操作都拥有route prefix admin
,那么您需要在app/Config/core.php
中启用路由前缀: -
Configure::write('Routing.prefixes', array('admin'));
这将改变前缀为action_
的任何控制器操作的路由,例如:admin_edit
到/admin/controller/edit
。
否则,您需要为要以此方式访问的每个控制器操作设置路由。因此,对于您在app/Config/routes.php
中需要的特定示例: -
Router::connect('/admin/productsimport/',
array('controller' => 'productsimport', 'action' => 'admin_index')
);
前缀admin
路线意味着这是不必要的。