如何强制OctoberCMS使用相对URL而不是绝对?
问题描述:
我可以通过放置|theme
过滤器手动链接资源,但是插件仍然使用绝对路径,这会在我共享和测试项目时产生问题。有没有一种原生的方式来使十月使用相关的网址?如何强制OctoberCMS使用相对URL而不是绝对?
答
您可以在插件文件夹中拥有资源。然后在你的组件的onRun函数中加载它们。
public function onRun()
{
$this->addCss('/plugins/cleanse/pvpactions/assets/css/actions.css');
$this->addJs('/plugins/cleanse/pvpactions/assets/js/axios.min.js');
}
http://octobercms.com/docs/plugin/components#component-assets
的AssetMaker总是返回绝对URL(https://github.com/octobercms/october/blob/master/modules/system/traits/AssetMaker.php#L271)。如果你真的需要这个,我能想到的唯一方法就是注册一个中间件并修改响应以重写任何绝对URL。然而,这听起来不是很高效,可能会出错。你使用绝对路径的确切问题是什么? –
与客户和同事共享我的本地环境,起诉ngrok.io,它期望加载网站css,js等的相对路径,因此插件脚本不会加载。 – qwaz
我认为要走的路是中间件。 –