2016-09-12 12 views
0

私のCSSリンクは速度最適化のためにインライン化しようとしています。ここでは純粋なPHPのサンプルです:smarty-seo速度最適化を使用してインラインスタイルのすべてのCSSリンクを変換する方法

echo '<style>'; 
foreach ($module_css_files as $css_lib) { 
    include(DIR_FS_ROOT. 'htdocs/css/' . $css_lib); 
} //foreach 
echo '</style>'; 

しかし、Smartyの中で、このアイデアは動作しません - 私は

{include file="mysite/htdocs/style.css" } 

にするたびにしようとすると、Smartyの白い画面にPHPのログにはエラーを返しません。通常の.tplまたは小さなjavascriptファイルを含めると問題はありませんが、css smartyを試してみるとちょうどクラッシュしました。助けてください!

+0

エラーログにエラーがありますか? – Guglie

+0

ログなし、白い画面だけなし – Pavel

答えて

1

は、いくつかの可能な説明があります。ご使用の構成に依存し

、Smartyのはhtdocsに/ CSS/templates_cで解析されたファイルを生成しようとしています。フォルダが存在しないか、書き込み可能でないならば、それはエラーを生成しますSmartyのは、SmartyのテンプレートとしてのCSSを解析しようとする

、すなわちその

.test {overflow:hidden} 

は、エラーを生成します。あなたはインラインそれを使用するのではなく、それを呼び出すようにしたい場合には、CSSファイルを破壊しないように、コメントの間にあなたのCSSに

アドオン{リテラル}::

/*{literal}*/ 
.test {overflow:hidden} 
... 

/*{/literal}*/ 

かをする場合は、次のことを試すことができますあなたは、あなただけのSmartyのテンプレート命令

.test { overflow:hidden} 

最良の選択肢とそれを混同しないように、すべての開いた括弧の後に少なくとも1つのスペースがあることを確認することができSmartyの3を使用している、しかし、になりますPHPでcssファイルの内容を読んで、変数としてスマートに渡してください。 cssをテンプレートとして読み込んで解析するのに必要な無駄な処理時間。

+0

はい、私はこの方法で仕事をしました--cssファイルの内容をphpで読み込み、変数としてsmartyに渡します – Pavel

関連する問題