2012-01-25 16 views
1

シナリオ: Cake Appでless CSSを使用して開発していますが、ドキュメントで推奨するようにクライアントサイドのファイルをコンパイルしたい)...私は再コンパイル時に上書きされます、私はいくつかの他のプログラマとのGitのレポにもので、私は彼らが、CSSの代わりに以下のファイルを編集したい:CakePHP HTMLヘルパーを使用して.lessクライアントサイドをコンパイルする

<head> 
    . . . 
    <link rel="stylesheet/less" type="text/css" href="styles.less"> 
    <script src="less.js" type="text/javascript"></script> 
    . . . 
    </head> 

問題: Iより少ないファイルをwebroot/css/libに保存し、less.jsファイルをwebroot/js/vendorsに入れて、HTMLヘルパーを使用したいリンク/スクリプトタグを作成します。

<?php echo $this -> Html -> css('lib/style.less'); ?> 
<?php echo $this -> Html -> script('vendors/less-1.2.1.min.js');?> 

less.jsを読み込む際に問題はありません。この問題は、cssヘルパーで、Cakeがパスの最後に '.css'を追加することにあります。

解決策:...?

+0

に以下のファイルをコンパイルしますが、私はあなたの側にあまりファイルをコンパイルをお勧めしますし、ページにCSSファイルを提供したいコンポーネントです。 – bzx

+0

これは私がやってきたことです。しかし、私はたくさんの人と一緒にGitリポジトリに取り組んでいます。私の側でコンパイルするということは、私のcomp上のファイルを少なくしておくことを意味し、他の誰かがCSSを編集するときは、次回のコンパイル時に間違って上書きします。 – joshdcomp

+0

代わりに.lessファイルを変更するように頼むことはできませんか? – Daniel

答えて

3

htmlヘルパーが "?"多分

ケーキ/ libsに/ビュー/ヘルパー/ html.php(ln. 356

if (strpos($path, '?') === false) { 
    if (substr($path, -4) !== '.css') { 
    $path .= '.css'; 
    } 
} 

あなたは:存在しない場合、ファイル名に...、それは最後に "の.css" を追加しますこのようなものでヘルパーをだますことができます。

<?php echo $this -> Html -> css('lib/style.less?'); ?> 

が、私はそれが動作するかどうかわからないんだけど...あなたがタグを記述する必要があります手動でP

を=乾杯

+1

私は、CakePHP 2.0のHtmlHelperを?文字列の最後まで。エコー$ this-> Html-> css( 'main.less?'、 'stylesheet/less'); –

+0

ありがとう!私の質問の本質は、パスに.cssの追加を上書きする方法だったので、これは完璧です。 – joshdcomp

3

他の解決策、非常に単純な、ヘルパーなし.lessファイルを含めることです:) 私はそれはあなたのプロジェクトのために大きな違いがないと思います。..

関連する問題