0

CakePHP2.xのCSSファイルでPHPを使用するために利用できる現在の方法について誰かにアドバイスしてもらえますか?

現在、スタイルシートをphpファイルに分割しており、URLを介してデータを解析したいのですが、を使用してリンクする方法がわからないようです。

$this->Html->css('dynamic-stylesheet')  

常に名前に.cssを追加するためです。

あなたの助けは大歓迎です。

4

2 に答える 2

3

を使用してタグを生成できますHtmlHelper::meta()

echo $this->Html->meta(array(
    'link' => '/css/test.php',
    'rel' => 'stylesheet',
    'type' => 'text/css'
));

/cssCSS専用のヘルパーメソッドを使用しなくなったため、ディレクトリに明示的に転送する必要があることに注意してください。

于 2013-01-07T11:06:18.470 に答える
1

lib / Cake / View / Helper / HtmlHelper.phpにあるCakePHPライブラリのHtmlヘルパーファイルを見ると、427行目を確認してください。CSSファイル名に2つのスラッシュがない限り、.css拡張子が自動的に設定されているように見えます。私はそれが外部のリソースを捕まえることだと思いますか?

前述のライブラリファイルから:

if (strpos($path, '//') !== false) {
    $url = $path;
} else {
    $url = $this->assetUrl($path, $options + array('pathPrefix' => CSS_URL, 'ext' => '.css'));

    if (Configure::read('Asset.filter.css')) {
        $pos = strpos($url, CSS_URL);
        if ($pos !== false) {
            $url = substr($url, 0, $pos) . 'ccss/' . substr($url, $pos + strlen(CSS_URL));
        }
    }
}

したがって、この..

echo $this->Html->css('http://whatever.com/css/dynamic-stylesheet.php');

デフォルトで'dynamic-stylesheet.cssに設定するのではなく、dynamic-stylesheet.phpファイルをレンダリングします。

それが意図されたものかどうかはわかりませんが、おそらくそのファイルが役に立ちます。

于 2013-01-07T04:23:25.987 に答える