2

无论如何设置全局图像设置、路由或任何内容,以便所有图像都引用 CDN url 而不必更新每个图像?所以当我像这样使用 HTML 助手时:

$this->Html->img('some_image.jpg');

而不是引用/img/some_image.jpg,它将指向:

http://cdn.example.com/img/some_image.jpg

更新

最终解决方案很简单。感谢@burzum 朝着正确的方向推动。这就是我所做的。

在 AppController 我添加了:

public $helpers = array(
    'Html' => array(
        'className' => 'MyHtml'
    )
);

然后我创建了覆盖助手:

<?php
// app/View/Helper/MyHtmlHelper.php
App::uses('HtmlHelper', 'View/Helper');
class MyHtmlHelper extends HtmlHelper {
    // Add your code to override the core HtmlHelper
    public function image($path, $options = array()) {
        $path = 'http://cdn.localhost/'.$path;
        return parent::image($path, $options);
    }
}
4

1 回答 1

4

只需在扩展 HtmlHelper 的自定义助手中覆盖 image() 方法,并为助手使用 2.1 别名功能:

public $helpers = array(
    'Html' => array(
        'className' => 'MyHtml'
    )
);
于 2012-03-07T12:05:35.947 回答