更改索引路径后CakePHP中出现错误



我正在处理一个CakePHP项目,遇到了一个问题。我们已经编写了一个Ajax函数,它将数据发送到一个php函数,该函数将一个文件夹(德语:ordner)添加到相应的数据库中。它运行得很好,但我们想把"Ordners"的index.ctp移到"Pages"目录中,这样它就成了我们的主页。现在,该函数仍然可以工作,但当单击按钮时,它会显示Ajax函数的错误消息。我们编写了不同的函数,同样的事情也发生在那里。

来自Javascript的代码:

$.ajax({
type: 'POST',
url: '/cake1/ordners/add',
data: sendData,
success: function (data, textStatus, xhr) {
//alert(sendData);
},
error: function (xhr, textStatus, error) {
alert(textStatus);
}
});

从OrdnersController:添加功能

public function add() {
$ordner = $this->Ordners->newEntity();

if ($this->request->is('post')) {
$ordner = $this->Ordners->patchEntity($ordner, $this->request->data);
if ($this->Ordners->save($ordner)) {
//$this->Flash->success(__('Your folder has been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to add your folder.'));
}
$this->set('post', $ordner);
}

routes.php

$routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'index']);

它运行得很好,但我们想将"Ordners"的index.ctp移动到"Pages"目录,使其成为我们的主页。

这没有任何意义。此外,告诉我们你现在得到的错误是什么也是明智的。然而,这并不重要。不是将视图点移动到路由器的订单控制器的索引:

$routes->connect('/', ['controller' => 'Orders', 'action' => 'index']);

并且您的主页/将路由到控制器。将代码放入特定文件夹是有原因的。将非静态页面移动到Pages控制器的文件夹中是没有意义的,默认情况下,Pages控制器是为静态页面提供服务的控制器。该观点将断章取义。虽然这在技术上是可行的,但从逻辑和最佳实践的角度来看,这是没有意义的。将视图+控制器+模型视为逻辑上分组在一起的独立模块。我想你会同意,把用户索引放在产品文件夹中是没有意义的。)

最新更新