少し助けが必要です。 すべてのユーザーのデータベースに、背景の色が保存されているとします。 毎回、あるユーザのログイン時に、あるフォルダ内のそのユーザのために、最初にユーザのidという名前のcssファイルが生成され、htmlテンプレートに含まれます。symfony generate css
私はCSSファイルを生成する方法を理解する必要がありますか?
ありがとうございました。
少し助けが必要です。 すべてのユーザーのデータベースに、背景の色が保存されているとします。 毎回、あるユーザのログイン時に、あるフォルダ内のそのユーザのために、最初にユーザのidという名前のcssファイルが生成され、htmlテンプレートに含まれます。symfony generate css
私はCSSファイルを生成する方法を理解する必要がありますか?
ありがとうございました。
非常に簡単...
あなたはあなたの任意のフォルダ内のすべてのユーザーのための小枝ファイルを生成し、その中で「インライン」CSSを配置する必要があります。
{% block css %}
<style>
.class {
parameter: {{ entity.value }};
}
</style>
{% endblock css %}
ファイルを生成するには、ページがロードされたときに呼び出すサービスを作成します。 ファイルが存在するかどうか最初にチェックする必要があります。そうでない場合は、データベースからクエリを読み込み、そうでなければ、ファイルを生成し、DBから必要なデータを読み込みます。
このページで私とGopalの答えを見て、サービスを作る方法を知ってくださいHow to use session in Symfony。
あなたはあなたの必要性のためにそれを使用することができsould ...;)
はまたSymfony Filesystem Component
file_put_contents()
を見ては...あなたは、ファイルの内容を書くに役立つはず;)
ありがとうございます。この部分ははっきりしています。たとえば、スタンダードCSSファイルが1つあります。しかし、写真や他のものを保管しているところには、いくつかのフォルダがあります。 1からnまでのフォルダを持つデータの中のDataを呼び出します。nはuserのIDです。したがって、フォルダの中には、htmlに含まれるCSSファイルがあります。どのように私はデータベースからのデータに基づいてこのCSSファイルを生成することができますか? –
申し訳ありませんが、少し速いを読んだ、私の答えを編集しました、これはもう少しあなたを助ける必要があります...;) – Preciel
セッションを使用してユーザー情報を保存するには良い方法ではありません。実際には、それは永久的なものではありません... –
I FOSUserBundleとのSymfony app.user
を使用して、あなたのtwigファイルでユーザーを取得することができます。
MySQLコンソールを開き、describe fos_user;
と入力すると、Twigファイルで使用できるすべてのフィールドが表示されます。だからあなたのテーブルにあなたはFOSユーザーごとに保存することができcolor
次に小枝に、あなたはこのようなもの使用することができます:あなたが把握したい場合がありますあなたのアイデアを得る
{% if app.user %}
{% set backColor = app.user.color %}
{% else %}
{% set backColor = 'none' %}
{% endif %}
...
<body style="background-color:{{ backColor }};">
... をSymfonyフォームを使用してFOSユーザーの色設定を保存する方法。データベースにプリファレンスを格納します。困っている場合は別の質問をすることができます。
あなたはユーザーの認証に何を使用していますか? FOSUserBundle? –
はい、私はFOSUserBundleを使用しています。 –