CakePHP HTML Helper添加前缀URL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CakePHP HTML Helper添加前缀URL相关的知识,希望对你有一定的参考价值。

我正在尝试将CDN网址附加到网站上的所有图片资源。

当前代码看起来像这个$this->html->image('img.png')。我发现有一个附加baseURL ['fullBase' => true]的选项,但我找不到附加自定义URL的选项,该URL会路由到所需的CDN。有没有办法创建一个自定义设置,指向CDN网址,如['CDN_URL_1' => true]或任何其他干净的方式来实现这一目标?

我能想到的另一种方法是像$this->Html->image($customURL.'img.png')那样添加路径,但这可能不是正确的方法。

谢谢!

答案

您可以在配置文件(./Config/bootstrap.php)中定义这些项目的基本URL。

Configuration

App.imageBaseUrl

Webroot下的公共映像目录的Web路径。如果您使用的是CDN,则应将此值设置为CDN的位置。

App.cssBaseUrl

webroot下的公共css目录的Web路径。如果您使用的是CDN,则应将此值设置为CDN的位置。

App.js BaseUrl

webroot下的公共js目录的Web路径。如果您使用的是CDN,则应将此值设置为CDN的位置。

...
Configure::write('App.imageBaseUrl', 'http://yourcdn.com/img/');
Configure::write('App.jsBaseUrl', 'http://yourcdn.com/js/');
Configure::write('App.cssBaseUrl', 'http://yourcdn.com/css/');
...

然后正常使用$this->Html->image('img.png')

以上是关于CakePHP HTML Helper添加前缀URL的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP-通过widget helper查看邮件

如何从 Cakephp4 中的 Helper 获取 $this->request->getAttribute('csrfToken')?

cakephp form helper(select)optgroup嵌套选项数组问题

在Cakephp的控制器中使用助手

在 CakePHP 上使用域作为“前缀”

CAKEPHP 1.2/1.3 中的前缀路由和插件