我在我的Users插件中有register.ctp模板文件,我想引用同样在我插件中的js文件
vendor/cakedc/users/webroot/js/password-compare.js
如何在模板文件中引用此js文件?
我已经尝试了
<?= $this->Html->script("password-compare"); ?>
<?= $this->Html->script("Users.password-compare"); ?>
<?= $this->Html->script("/Users/webroot/js/password-compare"); ?>
然后
<?= $this->fetch('script') ?>
但到目前为止没有任何工作......任何提示?
答案 0 :(得分:0)
使用&#34;插件&#34; Cake中的单词含糊不清,因为插件可以本地化在plugins/
目录中,也可以(通过Composer)安装到vendor/
目录。
HtmlHelper中script();
方法中的正确参数为Users.password-compare
,但这适用于plugins/
目录中的插件。
如果您使用插件,如供应商,并且您在bootstrap.php文件中有loadPlugin('CakeDC/Users')
,并且文件中有正确的路径&#34; vendor / cakephp-plugins.php&#34;所有事情都可以正常工作。
答案 1 :(得分:0)
我最后只是添加了以下代码,工作正常但不像我喜欢的那样优雅......
<script src="<?= $this->request->webroot ?>/cake_d_c/users/js/password-compare.js"></script>
答案 2 :(得分:0)
在Cakephp 3.4及以上的这项工作中:
<?php
/**
* @var \App\View\AppView $this
**/
$this->Html->script('password-compare.js', ['block' => true]);
?>
没有['block'=&gt; true]不要在html中显示脚本标记。