私のプロジェクトの 1 つで、私のユーザーは私の Web サイト ({username}.example.org) の専用部分を持つことになります。そのサブドメインでは、デザインを簡単に変更できるようにする予定です。Tumblr、Posterous、Shopifyなど、すでにそれを行っているオンライン Web サイトを調べてみました。
このアプリケーションの言語に関しては、Django で開始し、「デフォルトをフォールバックとして、URL 名に基づくテンプレート レンダリング」を実装することに成功しました(http://someuser.example.com は、templates/someuser/ にテンプレートを読み込みます)。 * または最初に見つからない場合は、templates/generic/* にあります)。しかし、PHP や Play!Framework が私のニーズにより適している場合は、それらにエクスポートできます。
使用されているテンプレート エンジンはJinja2です。これは、Django テンプレート エンジンと同じくらいシンプルで、習得が容易で、安全です (Python コードは実行できません (通常は実行する必要があります))。
私が見つけた各ソリューションの長所/短所は次のとおりです。それについてのあなたの考えと、あなたがどのようにするか、なぜそうするかを本当に感謝します. ありがとう。
注: ユーザーは、HTML/CSS について十分な知識を持っている必要があります。
変数の変更 (タイトルの色など)
長所:
- シンプル&セキュア
短所:
- 制限が多すぎるため、Web サイトをパーソナライズしたいユーザーは、このソリューションではそれを行うことができません
CSSのみアップロード
長所:
- 統合が簡単
- 安全
短所:
- 限定
- ユーザー画像はどこに保存されますか? (ロゴ、背景、グラデーションなど)
ユーザーがテンプレートを編集できるようにする (データベースに保存)
長所:
- 変更はより重要です
- ユーザーは (ほとんど) 自由に自分のやりたいことを実行できます (GA、FeedBurner の実装など)。
短所:
- 静的ファイル (ロゴ、背景画像、特殊効果 (グラデーション)) はどこに配置されますか?
- テンプレートはデータベースに保存され、表示されるページごとにもう 1 つの SQL 要求が必要です
ユーザーにテンプレートの編集を許可 (ファイルに保存)
長所:
- 変更はより重要です
- ユーザーは (ほとんど) 自由に自分のやりたいことを実行できます (GA、FeedBurner の実装など)。
- FTP アクセスを有効にして、テンプレート ディレクトリでユーザーをルート化できます。
短所:
- 静的ファイルの同じ問題
また、私が立ち往生しているのは、静的ファイル(画像、css、js)の処理方法についてです。データベースにこのURLに属するユーザーを確認するように要求するVirtualHostをApache(またはNGinx)で定義する方法がわかりません.
助けてくれてありがとう、ありがとう!