脚本宝典收集整理的这篇文章主要介绍了php – CssRewrite过滤器不会将相对URL转换为绝对值,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的代码:
$files = [ '/node_modules/select2/dist/css/select2.min.css','/node_modules/jquery-datetimepicker/jquery.datetimepicker.css','/node_modules/icheck/skins/square/blue.css','/node_modules/Plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css','/node_modules/pace/themes/white/pace-theme-flash.css','/node_modules/lightgallery/dist/css/lightgallery.min.css','/node_modules/x-editable/dist/bootstraP3-editable/css/bootstrap-editable.css','/node_modules/sweetalert2/dist/sweetalert2.css','/node_modules/aniMATE.css/animate.min.css','/node_modules/fullcalendar/dist/fullcalendar.min.css','/node_modules/flag-icon-css/css/flag-icon.min.css','/theme/assets/skin/default_skin/css/theme.css',]; $am = new \assetic\AssetManager(); $items = []; foreach ($files as $file) { $filename = APP_ROOT_DIR . '/public/ui' . $file; $items[] = new \Assetic\Asset\FileAsset($filename,[new \Assetic\Filter\CssRewriteFilter()]); } $collection = new \Assetic\Asset\AssetCollection( $items ); $collection->setTargetPath('vendor.css'); $am->set('collection',$collection); $writer = new \Assetic\AssetWriter(APP_ROOT_DIR . '/public/ui/shared/css/'); $writer->writeManagerAssets($am);
我期待的是:
在/node_modules/test/css/test.css中的../img/test.png代码中包含img时,Assetic应该将其重写为/node_modules/test/img/test.png
new \Assetic\Asset\FileAsset( $filename,[new \Assetic\Filter\CssRewriteFilter()],'/node_modules/test/' );
在src / Assetic / Asset / FileAsset.PHP:37中,我们看到您可以包含$sourcePath作为第三个参数.
https://github.com/kriswallsmith/assetic/blob/master/src/Assetic/Asset/FileAsset.php#L37
您可能希望将$files数组重新设置为类似的内容
$files = [ ['/node_modules/select2/dist/css/','select2.min.css'] ... ];
这样你就可以两次调用$sourcePath了
new \Assetic\Asset\FileAsset( APP_ROOT_DIR . '/public/ui' . $file[0].$file[1],'/public/ui'.$filename[0] );
以上是脚本宝典为你收集整理的php – CssRewrite过滤器不会将相对URL转换为绝对值全部内容,希望文章能够帮你解决php – CssRewrite过滤器不会将相对URL转换为绝对值所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。