0

スタイルシートをコントローラーからビューに渡すことは可能ですか?

ファイルがありmaster.layoutます。このマスター レイアウトは、サイトのすべてのページに使用されます。サイトでは、ユーザーはユーザー プロファイルの色とプロパティを変更できるため、プロファイル ページでは、カスタム ユーザー スタイルシートまたはカスタム スタイル ルールを渡す必要があります。

私が見つけた唯一の解決策はif、ビューにステートメントを含めることです。ページがプロファイルページである場合は、定義されているかどうかを確認し、$style定義されている場合は含めます。しかし、このアプローチは不格好に思えます。

レイアウトを定義して、コントローラ自体からスクリプトまたはスタイル ルールを渡すことは可能ですか?

編集:

スタイル ルールはデータベースのprofile.background_colorやなどの列に格納されますprofile.heading_color。次に、コントローラーはそれらをスタイルシートに構築してキャッシュするか<style>、プロファイル ビューのタグ内にスタイルを直接含めます。どちらにするかはまだ決めていませんが、どちらも可能です。

4

2 に答える 2

0

で、または同様のものmaster.layoutがあることを確認します。@section('userStyle')...@stop

コントローラーで、プロパティを設定しますprotected $layout = 'master.layout';

現在行っているように css を作成し、それを php 変数に保存します$css

次に、css を使用してレイアウトにロードできます$this->layout->userStyle = $css

于 2013-11-04T18:29:15.873 に答える
0

ファサードに関するアドバイスは奇妙でした。それはここでは本当に役に立ちません。

あなたはいくつかのことをしたいと思うでしょう。

あなたのページコントローラでは、以下を追加できます:

$layout->with('extra_stylesheets', ['pages/someslug.css']);

次に、その.cssファイルを少しの mod_rewrite と htaccess fun を使用して PHP として処理し、大量にキャッシュできるようにする必要があります (これにはさらに .htaccess を使用してください。Google が役立ちます)。

レイアウトは、追加のスタイルシートをチェックする必要がある唯一の場所であり、ページ ビューにはロジックが少し少なく、出力 HTML には厄介な<style>タグがたくさんありません。

于 2013-11-04T16:09:38.107 に答える