CakePHP:引导程序中的自定义函数,使用$ ajax->链接不起作用

时间:2010-03-23 06:37:25

标签: php cakephp

您好我有两个问题:

(1)最佳做法是在引导程序文件中创建全局自定义函数吗?有没有更好的地方存放它们?

(2)我无法在我的bootstrap.php文件中的自定义函数中使用以下代码行:

    $url = $ajax->link ( 'Delete', array ('controller' => 'events', 'action' => 'delete', 22 ), array ('update' => 'event' ), 'Do you want to delete this event?' );
    echo $url;

我收到以下错误:

Notice (8): Undefined variable: ajax [APP\config\bootstrap.php, line 271]

Code

}

function testAjax () {

            $url = $ajax->link ( 'Delete', array ('controller' => 'events', 'action' => 'delete', 22 ), array ('update' => 'event' ), 'Do you want to delete this event?' );

testAjax - APP\config\bootstrap.php, line 271
include - APP\views\event\queue.ctp, line 19
View::_render() - CORE\cake\libs\view\view.php, line 649
View::render() - CORE\cake\libs\view\view.php, line 372
Controller::render() - CORE\cake\libs\controller\controller.php, line 766
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 211
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 181
[main] - APP\webroot\index.php, line 91

但是,如果我在我的视图中放置相同的代码,它会按预期工作:

<a onclick=" event.returnValue = false; return false;" id="link1656170149" href="/shout/events/delete/22">Delete</a>

请帮忙:)

提前致谢!!

2 个答案:

答案 0 :(得分:1)

  1. 这取决于:如果它是一个完整的通用函数,可以在应用程序的任何地方访问,而不是。否则我会把它放在你想要使用它的父类中(app_model,app_controller)
  2. $ajax是一个帮助程序类,无法从引导程序文件中访问。你需要在引导程序中包含帮助程序,这就是将函数放在那里没有意义的点

答案 1 :(得分:0)

不要在bootstrap中这样做 - 没有好处。

如果您想在每个页面上都有此网址 - 请将其放在您的布局中(http://book.cakephp.org/view/96/Layouts