dポイントプレゼントキャンペーン実施中!

PHPとSmartyで、ブログサービス的なシステムを構築しております。

管理画面より書き込んだ内容をデータベースへinsertし、目的に応じてselectで反映するといったものです。
この先、管理画面よりサイト(ブログサイト的な)のデザインを予め用意しておき、数種類の中から1つテンプレートを選択し、決定をすると自動的に該当のテンプレートに切り替わるコンテンツを構築しようと考えておりますが、イマイチ良い案が思いつきません。

流れの順序としてはこの様になります。
---------------------------------------------------------------------------------
1、管理画面へログインをする。(実装済)

2、タイトルや内容等、各項目へ入力後「書き込む」ボタンをクリックしてデータベースへinsertしてselectで表示。(実装済)

3、各項目の修正と削除。(実装済)

4、複数のテンプレートの中から気に入ったテンプレートを選択して、デザインの変更を行う。←ココで悩んでいます。。。
---------------------------------------------------------------------------------

例えばカテゴリ分け等をした時に、「aaa.php」にアクセスした場合は、「aaa.tpl」を呼び出す。「bbb.php」にアクセスした場合は、「bbb.tpl」を呼び出すといった見せ方は実装できますが、
どのデザインに変更してもファイル名は変更しない様に実装できないものでしょうか?

また、「 index.php?design=design_1 」といった動的URLも避けなければいけないという条件です。

$smarty->displayをどうにかして条件分岐で実装出来ないかと考えましたが、参考になりそうな資料を見つけることが出来なかったので、非常に悩んでいます。

色々と制約があり恐縮ではございますが、何卒ご教授の程よろしくお願いいたします。



最後に念のため、データベース等のスペックをお伝えしておきます。
---------------------------------------------------------------------------------
サーバOS:Linux 2.6.x
WEBサーバ:Apache_1.3.37
PHP:5.3.3
データベース:MySQL 5.0.77
---------------------------------------------------------------------------------

A 回答 (2件)

どうも、説明がわかりにくいとは思いましたが、少し見えました。



要は、

1、カスタマイズ操作的なものでテーマ=テンプレートを変更する
2、対象のブログに不特定多数の誰かが、アクセスした際には、変更したテンプレートが使われる
3、不特定多数なので、以前のセッションというものは存在しない

ということのようですね。


ならばむしろ、簡単になりましたね。

1、テンプレートのパスをデータベースに入れる
2、ブログのページでは、必ずDBを検索してテンプレートのパスを検索する
3、phpでテンプレートのファイル名にテンプレートのパス名を追加して呼び出す
    • good
    • 0
この回答へのお礼

あーなるほど!
何となくロジックは見えてきました。

>3、phpでテンプレートのファイル名にテンプレートのパス名を追加して呼び出す

に関しては、理解するのに少々時間が掛かりそうですが、
とりあえずアドバイスをいただいた方法でトライしてみようと思います。

本当にありがとうございました。
大変助かりました。(精神的な部分も含め)

また、先でつまづく事がありましたら、どうぞよろしくお願いいたします。m(_ _)m

お礼日時:2010/11/01 00:43

要はテンプレートを変更しても


URLは変えないってことですよね。
しかも、GET を見せない。

普通にセッションで変数をまわすだけで良いと思いますが、
格納場所は、DBでもcookieでも良いので。

テンプレートを買えるのにファイル名を変えないだけなら、格納しているパスの名前を
ユニークにして、ファイル名を同じにするだけで良いと思います。

こういうのならフレームワークならシステム的にサポートしているので私なら
考えずにそちらを使いますかね。

この回答への補足

お忙しい中ご回答をいただき、大変感謝いたします。

「セッション」と聞いて、あれ?と思ったのですが、
それは管理画面のデザインの変更という意味でおっしゃって
いただいたのでしょうか?

もし、その様なお考えでしたなら、そうでは無く不特定多数の
閲覧者が見るページの事です。(記事が投稿されたページ)

よくある大手ブログサービスの管理画面で、自分のブログのデザインを
変更するといった形です。

もし勘違いなされていましたら、私の説明不足で大変申し訳ございませんした。。。

補足日時:2010/10/31 21:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!