トップ回答者
SharePoint2007のブログコメントフォームについて

質問
-
SharePoint2007のブログの設定を変更し、
ブログのコメントを非表示にしたいと考えております。
コメントリストを表示するWebパーツのビューを変更して
コメント自体を非表示にすることはできたのですが、
フォームのタイトル入力欄を消せなくて困っております。
SharePoint Designer 2007 を利用して、
ユーザー設定のリストフォームを配置する方法を試してみました。
ですが、このフォームを利用して作成したコメントが
投稿へのコメント数にカウントされなかったため、
既定のフォームからタイトル入力欄を消す方法を色々試しております。
自力で調べられる範囲では解決できなかったので…
ぜひご教授頂ければと思います。
よろしくお願いします。
2008年2月5日 13:35
回答
-
はじめまして。
コメント入力欄なしでブログを運用される、ということですよね?
手元の環境で試してみましたが、SharePoint Designer を使わずとも、コメントリストのアクセス権設定と、あとはいくつかのWebパーツの設定変更で実現できそうです。
こちらにまとめましたので、ご覧下さい。
2008年2月6日 1:47 -
山崎です。
タイトルのみを非表示にする方法ですが、JavaScript を利用する方法はいかがでしょうか。ちょっと無理やりな気もしますが、所詮HTMLの世界なのでありかなぁと。。。一応、自分の環境で試してみましたが、なんとか動いています。ただ、これでちゃんと実用レベルで使えるかはわかりませんので、もし試していただけるのでしたら感想をお聞かせいただけると嬉しいです。
方法
SharePoint Designer 2007 で Post.aspx を開き、「<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
」の次の行あたりに次のスクリプトを埋め込みます。Code Snippet<script type="text/javascript">
<!--
_spBodyOnLoadFunctionNames.push("hideTitle");function hideTitle()
{
var tags=document.getElementsByTagName('TD');
for (i=0; i<tags.length; i++) {
if(tags[i].hasChildNodes())
if(tags[i].childNodes[0].hasChildNodes())
if(tags[i].childNodes[0].childNodes[0].innerText=='タイトル'){
tags[i].parentNode.style.display='none';}//if
}//for
}//function//-->
</script>2008年2月7日 13:02
すべての返信
-
はじめまして。
コメント入力欄なしでブログを運用される、ということですよね?
手元の環境で試してみましたが、SharePoint Designer を使わずとも、コメントリストのアクセス権設定と、あとはいくつかのWebパーツの設定変更で実現できそうです。
こちらにまとめましたので、ご覧下さい。
2008年2月6日 1:47 -
山崎です。
タイトルのみを非表示にする方法ですが、JavaScript を利用する方法はいかがでしょうか。ちょっと無理やりな気もしますが、所詮HTMLの世界なのでありかなぁと。。。一応、自分の環境で試してみましたが、なんとか動いています。ただ、これでちゃんと実用レベルで使えるかはわかりませんので、もし試していただけるのでしたら感想をお聞かせいただけると嬉しいです。
方法
SharePoint Designer 2007 で Post.aspx を開き、「<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
」の次の行あたりに次のスクリプトを埋め込みます。Code Snippet<script type="text/javascript">
<!--
_spBodyOnLoadFunctionNames.push("hideTitle");function hideTitle()
{
var tags=document.getElementsByTagName('TD');
for (i=0; i<tags.length; i++) {
if(tags[i].hasChildNodes())
if(tags[i].childNodes[0].hasChildNodes())
if(tags[i].childNodes[0].childNodes[0].innerText=='タイトル'){
tags[i].parentNode.style.display='none';}//if
}//for
}//function//-->
</script>2008年2月7日 13:02 -
ban-4 さん
思いつきで、つい勢いで書いてしまったものですから、言葉足らずで済みませんでした。
今回のJavaScript を用いるアプローチがあることをご紹介したかったので、あくまで分かりやすい例にした方がよいかなぁとこのソースコードをご紹介しました。冷静になってみると、そのまま使うと確かに不備がある場合があると思います(ただ、"タイトル"という名前の列は予約されている名前ですので、列として追加することはないと思いますが、、、)。
とはいえ、ご心配されている点はクリアできると思います。一度、MOSSが生成するHTMLソースをご覧になってみてください。列にはそれぞれ一意なIDが割り振られます。このIDを利用すれば、特定のフィールドのみを指定にできますから、これをたどって親となるTR列を非表示にすることは可能だと思います。ただ、各リストごとに生成されるIDは異なりますので、特定のフィールドオブジェクトを取得するための汎用的な関数などを利用されるとよいと思います。以下のサイトが参考になります。
参考になれば幸いです。
2008年2月12日 11:46 -
こんにちは。中川俊輔 です。
saruhikoさん、山崎 愛さん、大変参考になる回答ありがとうございます。
ban4 さん、フォーラムのご利用ありがとうございます。
問題が解決されたようなので、saruhikoさん、山崎 愛さんの回答へ回答済みチェックをつけさせていただきました。
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
問題解決につながる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。ban4 さんはチェックを解除することもできますので、ご確認ください。
それでは!
2008年2月18日 8:55