1

我有一个由以前的员工制作的 cakephp 应用程序,它的结构定义为从下图可以看出我现在被困在如何弄清楚在我被要求添加另一个控制器的当前情况下我应该做什么, 模型和视图。在 views 文件夹中,有一些文件夹用于存储与特定控制器和模型匹配的不同视图。我还创建了一个文件夹并将其命名为 new_foo。

现在你看到 app_controller.php 了吗?该文件包含所有可用于初始化要调用任何控制器的菜单(导航栏)的信息。

菜单被定义为一个数组,例如

menu=array(
    array(
        'label' => __("Menu Item", true),
        'controller' => 'MenuController',
        'action' => 'MenuAction'
                        ),
    array(
        'label' => __("Another item", true),
        'controller' => 'AnotherMenusController',
        'action' => 'AnotherAction'
        ));

我还定义了一个这样的元素,然后为自己创建了一个新的控制器类,例如

AnotherMenusController.php // 请注意复数

class  AnotherMenusController extends AppController
{
    $this->loadModel('AnotherMenu'); // Please note the plural
    function AnotherAction()
    {
        $this->AnotherMenu->modelFunc();    
    }
}

我还创建了一个类似的模型类

class AnotherMenu extends AppModel
{
    function modelFunc()
    {
        print_r("Oh that is it ?");
    }   
}

但是,当我尝试在本地主机中运行应用程序时,总是会收到错误报告

未找到错误:在此服务器上未找到请求的地址“/anothermenus/anotheraction”。

虽然我已经可以在菜单项中创建一个链接,哦,这似乎无关紧要。我绝望地希望只有有人能够阐明这一点,让我感觉好一点。我感谢您提供的任何帮助。

再次感谢您的关心。

图片在以下链接中

http://imgur.com/RyV3A

我目前的问题是服务器无法识别我的控制器功能,我现在应该更改什么?

我应该错过注册一些东西,以便在这个特定问题上为我解决问题。

4

1 回答 1

1

My first guess would be that your problem is that your local webserver is not respecting the .htaccess. The route the menu is redirecting you to is '/anothermenus/anotheraction' but the webserver reports that such path doesn't exist. It is possible that the app is configured for production use and your local webserver isn't configured exactly the same.

Check what happens with other menus and if the paths they link to are similar to the one of the menu you added or not. I would also verify CakePHP's and the webserver's logs to verify which one is returning the error. If it is the webserver the webserver's config (or .htaccess files) are to be reviewed. If it is CakePHP's, then you need to keep looking at your code (and disregard this answer)

于 2012-05-16T04:43:44.660 回答