トップ回答者
ドキュメントライブラリの列:種類 (ドキュメントにリンクされたアイコン) について

質問
回答
-
基本は、皆さんが上で指摘されているとおりです。
もっとも現実的なアプローチはコンテンツのクエリWebパーツでカスタムスタイルを
適用することですが、これはあくまでWebパーツですので、通常のライブラリ内でも…
となると無理があります。
JavaScriptでAタグを無効化する方法もあると思いますが、肝心のAタグが
固有のIDやCLASSを持っていません。
かろうじて、親のTDに ms-vb-icons が指定されていますので、これを拾って、
その子要素をたどって…と結構難しいと思います。
一番簡単なのは、ワークフロー機能を利用することです。
ファイルタイプに応じたアイコンのURLを動的にとれるかどうかは判りませんが、
(Designerでは無理。しかしVisualStudioなら出来そうな気がします)
少なくとも拡張子は確実にとれますので、それを条件に、対応したアイコンを
表示させればよいでしょう。
既定の「種類」列は表示させません。
こんな感じになります。
判りやすいように、A タグにスタイルを適用して、太い赤線をつけました。
type 列のアイコンにはリンクが貼られていません。
基本的な方法はこちらと同様ですので、ご覧下さい。
http://sharepoint.boo.jp/index.php?e=368
リンク列(この例ではtype)を毎回つくるのは面倒ですので、
コンテンツタイプに設定して、かつ非表示にしておくと良いでしょう。
ワークフローについても、VisualStudioでテンプレートとして発行して、
やはりコンテンツタイプに紐付けておくことをお勧めします。
ただし、ドキュメントライブラリにこの手の「更新」WFを適用する場合、
更新の競合を回避するため、即時動作ではなく、数分間待機するなど設計上の対策が必要です。
お役に立てれば幸いです。
saruhiko- 回答としてマーク Nobuyasu Kawane 2010年3月11日 0:08
2010年3月6日 4:15
すべての返信
-
アイコンのみ表示する意図が判らないのでコメントしずらいのですが、、、
アイコンファイルのURLは、
http://<ServerName>/sites/<Sitename>/_layouts/images/icxddoc.gif
のようになっています。
ファイルの実体は、
"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES\ICXDDOC.GIF"
となっているので、コンテンツエディタWebパーツなどでアイコンだけを表示させる事は可能です。
どこのサイトから参照しても、同じファイルの実体を参照しています。
画像を差表示するには、画像ファイルにアクセスするサイトへアクセスする権限が必要です。2010年3月5日 4:16 -
基本は、皆さんが上で指摘されているとおりです。
もっとも現実的なアプローチはコンテンツのクエリWebパーツでカスタムスタイルを
適用することですが、これはあくまでWebパーツですので、通常のライブラリ内でも…
となると無理があります。
JavaScriptでAタグを無効化する方法もあると思いますが、肝心のAタグが
固有のIDやCLASSを持っていません。
かろうじて、親のTDに ms-vb-icons が指定されていますので、これを拾って、
その子要素をたどって…と結構難しいと思います。
一番簡単なのは、ワークフロー機能を利用することです。
ファイルタイプに応じたアイコンのURLを動的にとれるかどうかは判りませんが、
(Designerでは無理。しかしVisualStudioなら出来そうな気がします)
少なくとも拡張子は確実にとれますので、それを条件に、対応したアイコンを
表示させればよいでしょう。
既定の「種類」列は表示させません。
こんな感じになります。
判りやすいように、A タグにスタイルを適用して、太い赤線をつけました。
type 列のアイコンにはリンクが貼られていません。
基本的な方法はこちらと同様ですので、ご覧下さい。
http://sharepoint.boo.jp/index.php?e=368
リンク列(この例ではtype)を毎回つくるのは面倒ですので、
コンテンツタイプに設定して、かつ非表示にしておくと良いでしょう。
ワークフローについても、VisualStudioでテンプレートとして発行して、
やはりコンテンツタイプに紐付けておくことをお勧めします。
ただし、ドキュメントライブラリにこの手の「更新」WFを適用する場合、
更新の競合を回避するため、即時動作ではなく、数分間待機するなど設計上の対策が必要です。
お役に立てれば幸いです。
saruhiko- 回答としてマーク Nobuyasu Kawane 2010年3月11日 0:08
2010年3月6日 4:15