CakePHP,将参数传递给js.php文件?

时间:2013-01-03 17:06:47

标签: javascript cakephp

我试图用PHP生成一个javascript文件。我有文件包含,所有脚本都在其中工作。我想不出的是我如何将参数传递给这个文件?

要将参数从控制器传递到视图,请使用:

$this->set('object_models', $object_models);

要将它从视图传递到我使用的元素:

echo $this->element('pageElement', array('object_model' => $object_model));

我包含我的js.php文件,方法是在视图中添加:

echo $this->Html->script('modelDrawer.js.php?', false);

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用parseExtensions并将JS文件作为控制器的视图直接执行逻辑?

这与使用Cake生成rss feed和xml文件的方式类似。

See this article

<强>更新

转到routes.php文件,然后添加第Router::parseExtensions('js');

然后,创建一个名为DynamicController.php的控制器,并将其粘贴到那里:

class DynamicController extends AppController {

    public $uses = array();

    public function modelDrawer() {
        // logic in here
        $this->set( 'object_models', $object_models );
    }
}

创建视图文件夹并查看文件:

/app/View/Dynamic/js/model_drawer.ctp

在该model_drawer.ctp文件中,您可以放置​​想要被蛋糕化的视图/脚本逻辑。

然后你可以这样调用你的脚本:

<script type="text/javascript" src="/dynamic/modelDrawer.js"></script>

试一试!