Office 365 Public Site リスト フォームが使えない&リスト ビューのフィルターを行うクエリ文字列

前回、[Office 365 Public Site 機能制限メモ] を投稿しましたが、1点追加です。
恥ずかしながら、パブリック サイトを公開するまで気がつかなかったのですが、リスト フォーム (DispForm.aspx とか) は匿名でのアクセスができません。

匿名ユーザーはリスト アイテムに対する読み取り権限 ([アイテムの表示] アクセス許可レベル) を持つため、リスト ビュー Web パーツが表示できます。当然 DispForm.aspx も表示できるもんだと思っていたのですが、どうやらアクセスできません。

弊社 Web のトップページに表示しているニュース リリースはカスタム リストのリスト ビュー Web パーツを貼り付けてます (JSLink で表示は手を加えてます)。タイトル部分をクリックすると、DispForm.aspx を開き、ニュースリリースの本文が読めるようにしたかったのですが、、前述のとおり、リストフォームは匿名アクセスができないという。。。

ということで、次の方法で解決しました。
   
・ トップページのリストビュー Web パーツから、タイトルクリックで開かせる発行ページを作成
   
・ 発行ページ内にリストビュー Web パーツを配置 (JS リンクで表示の変更)
   
・ トップページでクリックしたアイテムのみ表示されるように、トップページの HyperLink でリスト ビューWeb パーツ内を
        フィルターするためのクエリ文字列を渡すように

リスト ビューに既定でフィルターを実行するためのクエリ文字列はこんな感じで指定できます。

  リストビューWebパーツが配置されているページURL?FilterField1=列名&FilterValue1=値

フィルター列を複数指定したい場合は、こんな感じ。

  ?FilterField1=列名&FilterValue1=値&FilterField2=列名&FilterValue2=値

列名は内部名を利用、値は日本語そのままでは動作しません。という注意点はありますが、これを使うと、リストにビューをあれこれ作成しなくても、ハイパーリンクのみでさまざまなフィルター済みデータ表示画面を用意できます。

奥田

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中