我在 CakePHP 中通过控制台创建插件。此外,我将这一行添加到我的 route :
Router::scope('/pp', ['plugin' => 'Pp'], function (RouteBuilder $routes) {
$routes->connect('/', ['controller' => 'Pages', 'action' => 'index']);
$routes->fallbacks(DashedRoute::class);
});
并在我的插件 webroot 目录中添加文件夹 css 和文件测试。现在当我使用这个脚本时:
<?= $this->Html->css('Pp.test'); ?>
当我从源代码(网络浏览器)复制链接时,样式不起作用。我得到这样的链接:
http://localhost/Pp/css/test.css
我得到这样的错误:
Error: Create the class Test.cssController below in file: src/Controller/Test.cssController.php
当我打开 http://localhost/Pp 时插件正常工作但没有样式 :(
最佳答案
插件 Assets 加载是可选的
Plugin assets不会自动加载,如果你想动态地提供它们(即通过 php),你需要启用 asset dispatch filter , 尽管 symlink your assets files 是个更好的主意:
bin/cake plugin assets symlink Pp
注意 css 文件的 url 应该是 http://localhost/pp/css/test.css
,而不是 http://localhost/Pp/css/test.css
关于php - cakephp 插件样式和脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40880666/