2017-05-17 4 views
0

このチュートリアルhttps://css-tricks.com/css-variables-with-php/に続いて、CSSでPHP変数を使用しました。私はconcrete5(バージョン5.6)のCMSを使用しています。 .phpファイルと.cssファイルの両方をロードしました。CSSにPHP変数を含める(具体的には)

NewFile.php

<?php 
header("Content-type: text/css; charset: UTF-8"); 

$clRed = 'red'; 
?> 

NewFile.css

@import "/path/css/NewFile.php?type=cms"; 

.one-third{ 
     width: 33%; 
     margin: 0 auto; 
     background: <?php echo $clRed;?>; 
    } 

が、CSSは、PHPの変数を読んでいません。

Chrome Developers tool screenshot

私はまた、これらのリンクに

http://doctype.com/use-php-variables-inside-css-file

how can I use of a php variable into a .css file

PHP Variables in CSS not working

https://www.concrete5.org/community/forums/themes/reusing-editable-values-andor-embedding-php-in-stylesheets

を呼び3210

ありがとうございます。 注:推奨されている方法ではありません。

答えて

2

あなたはcssがPHPであることを忘れました。そこ

ルック:

<link rel='stylesheet' type='text/css' href='css/style.php' /> 

名前の変更NewFile.css.phpにNewFile.css、それが動作します。しかし、私は、ファイルのunificateを提案するだけで、チュートリアルは言うようにNewFile.phpを呼び出します。 PHPファイルのインスタンス化の先頭に:

<?php 
header("Content-type: text/css; charset: UTF-8"); 

$clRed = 'red'; 
?> 

そして、ファイルの残りの部分それだけだエコーでCSS。

+0

これは機能しません。どのような階層であるべきですか。 * .css.phpファイルまたは* .phpファイルを最初にインポートする必要がありますか? – Neetigya

+0

2つのファイルを忘れて、それらをNewFile.phpに統合し、リンクのhrefに入れてください。 – calexandre

+1

これは動作します、ありがとうございます。将来の読者にとって、この行は非常に重要です: - header( "Content-type:text/css; charset:UTF-8");もう一つの良いリンク - http://jafty.com/blog/tag/php-header-content-type-css/ – Neetigya

0

cssファイルでphpコードをコンパイルすることはできません。 あなたのリンク先のチュートリアルでは、CSSコードを出してヘッダーを "text/css"に設定するPHPスクリプトを作成する方法を説明します。 これで、PHPファイルをcssスタイルシートとしてHTMLページにリンクすることができます。

あなたのケースでは、あなたのPHPファイル(インポートなし)の内容をPHPファイルにエコーする必要があります。オクラホマので、まず自分のエラーオフ

style.php

<?php 
header("Content-type: text/css; charset: UTF-8"); 

$clRed = 'red'; 

echo '.one-third{ 
    width: 33%; 
    margin: 0 auto; 
    background: '.$clRed.'; 
}'; 
?> 

のindex.php

<?php 
echo '<link rel="stylesheet" type="text/css" href="style.php" />'; 
?> 
0

があるため、使用している拡張機能のために発生します.PHPの.cssではありません。その後、所望の場所に含める <?php include 'style.php'; ?>を使用し、その後、ちょうどあなたの参照の1に記載hakikoユーザーとしてフォーマット

<style> 
.blabla{ 
.... 
} 

#heeeHoo{ 
... 
} 
</style> 

を使用し、ファイルの拡張子の名前を変更し、これを試してみてください。 PHP includeはファイルの内容をコピーしてペーストするだけなので、his solutionは動作するはずです。htmlの<head>タグに入れてください。

+0

ちょっと、彼のソリューションは良いですが、私の問題は、私のアプリケーションには4つのサブドメインがあり、今後はサブドメインが増えます。緑と白、病院が私のアプリケーションを使用しているとき、色は赤と青でなければなりません。アプリケーションには既に15〜20 cssがあります。 .css.php拡張子に変更することはできないので、私の考えはcss.phpファイルを作成し、すべてのcssスクリプトの後にロードすることでした。この場合、変数を使用すると助けになります。(use == 'school')にbackground = 'red'を設定すればいいと思います。 – Neetigya

+0

'!important'を使ってCSSの他の用途を上書きすることができます –

関連する問題