2016-05-12 8 views
1

私は<?php echo $this->Url->build(['/'); ?>をCakePHP 3.1のビューファイルにCSSまたはJSリンクの前に書きます。この手法を取り除く方法はありますか?例えば、../src/template/test/index.ctpCakePHPのすべての資産にルートディレクトリを含める方法を避けるには?

<img src="<?php echo $this->Url->build('/'); ?>images/seointro_logo.png" alt="logo"> 

に私は、各リンクは、ルートディレクトリを書くと協力する必要があることしたいです。私はすべてのファイルがWebrootではこのコードなしで動作しますが、srcでは動作しません。

+2

でこれを変更する必要があります公式ドキュメントのブログチュートリアルから始めることで、そのような問題を避けることができます。 http://book.cakephp.org/3.0/ja/tutorials-and-examples.html :)または少なくともHTMLヘルパーについて読むことによって http://book.cakephp.org/3.0/ja/views/helpers /html.html – burzum

+0

これを確認してくださいhttps://sarwarhossain.com/2010/03/16/how-to-cakephp-in-a-sub-directory-access-it-from-root-using-htaccess/ –

答えて

0
+0

ありがとうたくさん。しかし、私は解決策を探しているので、これらの行に触れる必要はありません。それは、html開発者が何をしたかを維持することを意味します。 ie- logo リンクは、HTMLヘルパーやビルドを作成しなくても正しく動作します。 –

0

使用したHTMLヘルパー

:バーズムが言ったように

<?php echo $this->Html->image('/images/seointro_logo.png', ['alt' => 'logo']); ?> 

、あなたはCakePHPが提供するHTMLヘルパーについて確認する必要があります。この中へ

<img src="<?php echo $this->Url->build('/'); ?>images/seointro_logo.png" alt="logo"> 

<?= $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/ 
    .... 

], 
+0

ありがとうございました。しかし、私は解決策を探しているので、これらの行に触れる必要はありません。それは、html開発者が何をしたかを維持することを意味します。 ie- logo リンクは、HTMLヘルパーやビルドを作成しなくても正しく動作します。 –

関連する問題