我正在尝试使用 PHP 生成 JavaScript 文件。我已包含该文件,并且所有脚本都在其中运行。我想不明白的是我如何将参数传递给这个文件?
将参数从 Controller 传递到我使用的 View :
$this->set('object_models', $object_models);
将其从 View 传递到我使用的元素:
echo $this->element('pageElement', array('object_model' => $object_model));
我通过将我的 js.php 文件添加到 View 中来包含它:
echo $this->Html->script('modelDrawer.js.php?', false);
最佳答案
您是否考虑过使用parseExtensions
并将您的 JS 文件作为 Controller 的 View 包含进来,您可以直接在其上执行逻辑?
这与使用 Cake 生成 rss feed 和 xml 文件的方式类似。
更新
转到routes.php 文件,然后添加行 Router::parseExtensions('js');
然后,创建一个名为 DynamicController.php
的 Controller 。 - 并将其粘贴到那里:
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 文件中,您可以放置要蛋糕化的 View /脚本逻辑。
然后您可以像这样调用您的脚本:
<script type="text/javascript" src="/dynamic/modelDrawer.js"></script>
尝试一下!
关于javascript - CakePHP,将参数传递给js.php文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143629/