我在CakePHP 3.1的View文件中的任何CSS或JS链接之前写<?php echo $this->Url->build(['/'); ?>
。有没有办法摆脱这种技术。例如,在../src/template/test/index.ctp
<img src="<?php echo $this->Url->build('/'); ?>images/seointro_logo.png" alt="logo">
我希望每个链接都适用于编写根目录。我看到所有文件在webroot中没有此代码但在src中没有。
答案 0 :(得分:0)
改变这个:
<img src="<?php echo $this->Url->build('/'); ?>images/seointro_logo.png" alt="logo">
进入这个:
<?php echo $this->Html->image('/images/seointro_logo.png', ['alt' => 'logo']); ?>
正如burzum所说,你应该查看CakePHP提供的HTML Helpers: http://book.cakephp.org/3.0/en/views/helpers/html.html
答案 1 :(得分:0)
使用html助手
<?= $this -> Html -> image('image.png', ['alt' => 'logo']); ?> // img/image.png
<?= $this -> Html -> script('Pages', ['block' => true])?> // js/Pages.js
<?= $this -> Html -> css('pages', ['block' => true]); ?> //css/pages.css
不要忘记在布局文件中添加相应的获取:
<?= $this -> fetch('css') ?>
<?= $this -> fetch('script') ?>
如果更改了defauls文件夹的名称,则必须在 config / app.php
中进行更改'App' => [
...
'webroot' => 'webroot',
'imageBaseUrl' => 'img/', //<--- change img/ to yourImagesFolder/
'cssBaseUrl' => 'css/', //<--- change css/ to yourCssFolder/
'jsBaseUrl' => 'js/', //<--- change js/ to yourJsFolder/
....
],