質問 > その他 > 共通クラス内で「フロント機能」 or 「管理機能」の判定 |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tao_s |
投稿日時: 2009/5/1 2:26
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 引用:
\html\admin\require.php ↑が一番素直ですね |
seasoft |
投稿日時: 2009/5/1 1:56
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 既存の実装では無理で、新規変数などで追加実装する場合、
\html\require.php \html\mobile\require.php \html\admin\require.php でセットしようと考えています。 とりあえずは継続して、既存の実装範囲で判定する方法につきまして情報をお待ちしております。
|
tao_s |
投稿日時: 2009/5/1 1:24
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ちょっと色々考えてみました。
要件がわからないので正しいやり方かどうかは置いておいて、 /data/class/SC_View.php のSC_AdminView()がコールされた時に適当な変数をグローバル宣言するか、定数をdefineするのが一番書くコードが少なさそうです。 あとはSC_AdminView()で
とされているので、管理画面かどうか調べたいページで
とするのはどうでしょうか? |
seasoft |
投稿日時: 2009/4/30 23:43
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 > $this->tpl_subnoとか$this->tpl_subtitleとかでしょうか?
冒頭に書きましたとおり、共通クラス内で取得したいのですよね。 常に $this を渡すというルールを追加するのは酷かなぁ。 > それかget_class()でクラス名から判断するとか? これも、共通クラス内だとストレートには無理ですよね。 参照をたどれば可能ですが、結構規模の大きなロジックになってしまいそうです。 たしか、PEAR には実装されていたとは思いますが、、、う〜ん > 「簡単に」が難しいですね 深い一言ですね。 プログラムの世界って、「簡単」の背景に「隠れた複雑」が存在していることが多いですよね。 フレームワークなんかは、その極みですね。
|
tao_s |
投稿日時: 2009/4/30 23:32
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 あと使えそうなのはinit()内で設定される。
$this->tpl_subnoとか$this->tpl_subtitleとかでしょうか? それかget_class()でクラス名から判断するとか? 「簡単に」が難しいですね |
seasoft |
投稿日時: 2009/4/30 23:27
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 やはり、フロント機能と管理機能でセッション変数の配列要素は同一でした。
|
seasoft |
投稿日時: 2009/4/30 23:22
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 セッション変数だと、(管理機能でログインしていると)フロント側でも同じ要素が取得できるのではないかなと予測しています。また、管理機能でログインしていない場合に取得できない懸念もあります。
とはいえ、確信は無いので、一度試してみようと思います。
|
tao_s |
投稿日時: 2009/4/30 23:19
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 うろ覚えですが、確か管理画面にログインしている時は、セッション変数内かページオブジェクトに「user_id」か「login_id」みたいな名前で管理画面へのログイン情報を持っていたと思います。
「どのメニューから呼ばれているか」はわかりませんが、管理画面の任意のPageクラスのprocess()内で
として表示されるものを確認してみてはいかがでしょうか? |
seasoft |
投稿日時: 2009/4/30 15:36
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 > ふと思ったんですが、
> 裏で定数にセットするにしても、 > 何か > setAdminOperation(Bool) > isAdminOperation() > みたいな > メソッドとして実装した方が、 > 拡張時に便利かもしれませんね。 そうですね。 実際、フロントではPC・モバイルの判定も容易に行えると便利なケースがあるかなと考えています。 追加実装するなら、1定数複数値でセットして、判定用のメソッドを用意する方向を考えています。 とりあえずは継続して、冒頭の件につきまして情報をお持ちの方からの書き込みをお待ちしております。
|
kishik |
投稿日時: 2009/4/30 15:24
対応状況: −−−
|
仙人 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 あ、いえ、
セッション変数として自作する という意味でした。 しかしよく考えると自作するなら 新たに定数で持たせるのと変わりないですね。 ふと思ったんですが、 裏で定数にセットするにしても、 何か setAdminOperation(Bool) isAdminOperation() みたいな メソッドとして実装した方が、 拡張時に便利かもしれませんね。 ----- http://ec-cube-mall.jp/ http://ec-cube.ec-orange2.jp/ http://wiki.ec-orange2.jp/ |
« 1 2 (3) 4 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |