2017-11-28 10 views
1

学生であるため、これはかなり新しいので、私にご負担ください。ユーザーのログイン設定に応じてテーマを変更する方法

ウェブサイトでは、ユーザーのログイン設定に基づいてサイトのナビゲーションカラー、背景、色などのテーマを変更することはできますか?

テーマの名前は、MySQLデータベースのメンバテーブルに "preference"で保存されます。

私はPHPを使用してサイトを作成しています。

ありがとうございました

+3

あなたはマルチの作成を見てみたいと思うでしょうプレCSSファイルを開き、選択したテーマ名をPHPのファイル名として出力します。 – MCMXCII

答えて

0

これは動的CSSを使用して行うことができます。と(私はあなたが(暗いテーマに固有のスタイルを持つ) 暗い-theme.css forexample異なるテーマ 光-theme.cssなどのために複数のsylesheetsを作るお勧めします

<html><head> 
.... 
<style ... src="..." /> 
<style> 
// from db 
#custom { background: #<?php echo $colour; ?> } 
</style> 
0

: 以下のコードを参照してください光をテーマに固有のスタイル)

、このようなユーザーがログインはあなたのページにこのようなファイルを読み込むことができたときにその後のセッションで使用好まテーマ名を保存

<link rel="stylesheet" type="text/css" href="projectFolder/cssFolder/<?php echo $theme_name.'.css'; ?>"/> 

上記のコードは、ページ

1

にロードされた別のスタイルシートを持ってできるようにする必要があり、私は最善の方法は、MCMXCIIはコメントで言ったように、複数のCSSファイルを作成し、中にcssファイル名を保存することだと思いますデータベース。これを達成するための

<html> 
    <head> 
     <link href="<?php echo $filename;// From database ?>" rel="stylesheet"> 
    </head> 
    <body> 

    </body> 
</html> 
1

一つの方法は、例えば、自分のアカウントに対するデシベルでのユーザの好みのテーマを保存することです:

user_id | theme 
--------------- 
    1 | red 
をあなたがそうのようなスタイルシート「輸入」にそれをエコーすることができます その方法

そして、ユーザが選択したテーマに基づいて、デフォルトで、ロードすることができ、複数のCSSファイルに、次のようなものを作成します。

<link rel="stylesheet" type="text/css" href="<?php echo $user->theme ? $user->theme . '.css': 'default.css' ?>"/> 
関連する問題