[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[kagemai-users:0202] Re: ゲストでのインデックスなどの表示制限



福岡です。

Tomohide Tatsumi san wrote:
 
| 少々この影舞についてご教授願いたいのですが、
| 1.ゲストでは新規投稿と自分の送った物のみしか見えなく
|     検索すらできない。
|     (プロジェクトの設定変更でトップページの見せるチェックをすべて
|       はずした状態)
|     (ただし、IDを意図的にaction=view_report&id=11を
|      action=view_report&id=12等かえてみれるのは仕方がない)
|
| 2.ユーザー以上は
|     簡易検索や検索、IDを指定して表示等トップページ設定で設定表示
|     したものを見せたい
|      (プロジェクトの設定変更でトップページの見せるチェックを任意に
|       いれたものを見せる状態)
| 上記の2点は可能でしょうか?

どういった使い方を想定されているのかよくわかりませんが、
  1. 不特定多数のゲストは投稿&自分の投稿の確認のみができる
  2. でも、もし他の人に情報を見られても全く困らない
  3. ユーザ以上の場合は、通常の影舞と同じ
ということでいいでしょうか。

そうすると、guest.cgi でアクセスしたときには、プロジェクト
のトップページの「状態別インデックス」などや、上部の「検索」、
「統計」のリンクを消してやればよさそうです。

ブラウザから設定することはできませんが、
resource/ja/template/_default/ 以下の、navi.rhtml と
topics.rhtml に少し手を加えればできます。
#「ブラウザから設定できる範囲で可能か」という質問なのであれば、
#「できない」というのが回答になりますね。

影舞で管理するプロジェクトすべてに適用したいのであれば、
インストールした上記のファイルを直接、特定のプロジェクト
だけに適用したいのであれば、上記のファイルを対象のプロジェ
クトの template ディレクトリ以下にコピーして編集してください。

基本的には、Mode::GUEST.current? というメソッドで、現在の
ゲストかどうかがわかるので、それを使って処理をわけてやれば
いけると思います。

動作確認はしてませんが、例えば、以下のようにします。

navi.rhtml は、ゲストのときに検索と統計のリンクを表示しない
ようにします。

$ diff -u navi.rhtml.orig navi.rhtml
--- navi.rhtml.orig     2003-02-12 06:41:49.000000000 +0900
+++ navi.rhtml  2004-01-30 01:19:31.000000000 +0900
@@ -16,8 +16,10 @@
   project_navi = []
   project_navi << Top.href(base_url, project_id)
   project_navi << NewForm.href(base_url, project_id)
-  project_navi << SearchReport.href(base_url, project_id)
-  project_navi << Summary.href(base_url, project_id)
+  unless Mode::GUEST.current? then
+    project_navi << SearchReport.href(base_url, project_id)
+    project_navi << Summary.href(base_url, project_id)
+  end

   mode_navi = []
   mode_navi << Mode::GUEST.href(cgi_param_str)


topics.rhtml では、ゲストの時には、ゲスト用のメッセージだけを
表示するようにします。

$ diff -u topics.rhtml.orig topics.rhtml
--- topics.rhtml.orig   2003-08-13 01:47:18.000000000 +0900
+++ topics.rhtml        2004-01-30 01:23:51.000000000 +0900
@@ -1,5 +1,11 @@
 <%# requirements: mode, project %>

+<% if Mode::GUEST.current? then %>
+
+<p>ゲストへのメッセージ</p>
+
+<% else %>
+
 <% if project.top_page_options['keyword_search_form'] then %>
   <h2>簡易検索</h2>

@@ -64,3 +70,5 @@
     <%= eval_template('topics_collection.rhtml', {:project => project, :etype => etype}) %>
   <% end %>
 <% end %>
+
+<% end %>

-- 
福岡ともゆき <fukuoka@xxxxxxxxxxxxx>
http://www.daifukuya.com/