0

我的蛋糕 php 应用程序似乎弄乱了我的叠加层,我正在从另一个视图加载内容。它的工作原理如下:

//Show project settings
$(document).ready(function(){
    $('.project-edit').on('click', function () {
        overlay_start('projects/show_project_settings');
    });
});

//Function for overlay
function overlay_start(path) {
    $('#overlay-center').load(path);
    $('#overlay').fadeIn(200);
    $('#overlay-center').fadeIn(200);
}

这是我的 ProjectsController 的方法:

//Display project settings overlay
public function show_project_settings() {
    $this->render('/Elements/editable/ProjectSettings');
}

我在项目/索引上,单击链接后,覆盖加载。它确实加载了,但是,它只是加载了我已经打开的相同视图 - 而不是 ProjectSettings.ctp。

有些东西告诉我我在项目控制器中遗漏了一些东西。我究竟做错了什么?

4

2 回答 2

0

我发现了问题所在。我的道路通向:

.../admin/projects/show_project_settings

但应该导致:

.../projects/show_project_settings

所以我所做的是

overlay_start( $.gdUrl().root() + 'projects/show_project_settings' );

然后它找到了正确的路径。

这不是身份验证问题。

于 2013-01-09T20:45:30.553 回答
0

使用 Html 帮助器构建 url,如下所示:

$(document).ready(function(){
    $('.project-edit').on('click', function () {
        overlay_start('".$this->Html->url(array('action' => 'show_project_settings'))."');
    });
});

我假设你在同一个控制器中,如果没有添加控制器参数

$this->Html->url(array('controller' => 'your_controller', 'action' => 'show_project_settings'))
于 2013-01-09T09:47:01.370 回答