トップ回答者
SharePointOnline(2013?)ブログサイトで投稿に列を追加し記事に反映させたい(WordPressのカスタムフィールドのマネ)

質問
-
ご覧いただきありがとうございます!
SharePointOnlineでテンプレートからブログサイトを作成しました。簡単に作れてとっても便利そうなので活用したいと思います。
そこで、欲が出てこれをカスタマイズし利用したいと考えたのですが、WordPressでいうカスタムフィールドのような項目を追加し、記事に表示させるようなことをSharePointのブログサイトで実装したいのです。
以下の記事を参考にJSリンクを利用して表示する方法でトライしています。
https://blogs.technet.microsoft.com/sharepointdevelopersupport/2013/04/09/how-to-add-a-custom-field-to-blog-posts-in-sharepoint-2013/
オンプレのSharePointではないので、jsファイルのアップ先がよくわからずサイトのリソースファイルにjsファイルを置いて、[Webパーツの編集]の[その他]セクションの一番下にある[JSリンク]に「~site/SiteAssets/formatblogpost.js」を入力して[OK]をクリックしたところ、表示に反映されHTMLには反映されているようなのですが、肝心の内容は「undefined」となりました。
投稿で追加した列名はmewmewで、サンプルのJavaScriptの15行目は列名を変更しました。
変更後: var ret = "<b>" + ctx.CurrentItem.mewmew + "</b><hr/>" + ctx.CurrentItem.Body;
列mewmewが未定義という事だと思うのですが、解決方法、確認方法の糸口についてお力添えいただけると大変助かります。
- 編集済み mmdirect2001 2017年7月3日 2:12
回答
-
うーん、記載されている内容を手元で試しているわけではありませんが、まずは考えられるところだと、そもそも、ビューに mewmew という列を表示するように設定していないというような落ちとか? または mewmew の内部列名が異なっているというのも考えられるかもしれません。一度別のなまえで作成して表示名だけ変えたとか。。。
- 回答としてマーク mmdirect2001 2017年7月6日 7:06
-
返信ありがとうございます!
スクリプトのmewmewの部分を、もともとの投稿リストにある項目(IDとかTitleとか)に変更するとちゃんと表示されるので、ご教示いただきましたようにビューが違うのかも知れません。・・・とんだ落ちになるといけないので、以下の方法で確認しました。間違っていたらご教示くださいませ。
JSリンクを入れているwebパーツを使っているページ(default.aspx)で[ページの表示]-投稿の[Webパーツの編集]-[リストビュー]ブロックの[現在のビューの編集]リンクをクリックしてチェックが付いていることは確認できました。
ついでに「URL」列にチェックを入れて、mewmewの部分を「URL」に変更したら表示することができました。
ついでに「一度別のなまえで作成して表示名だけ変えた」という懸念をいただいたので、新規で「mewmew1」列を作成し、同様にチェックを入れてスクリプトもmewmew1に書き換えて試してみたところ、undefinedになってしまいました。・・・・と、この状態で一旦、こちらのスレッドにレス入れさせていただいたのですが、もう一度試したら、できました!!!!ありがとうございます!!!
すっぱりと諦めて最初からやり直す、っていうのが大事なんですね。あれこれいじっているうちに何が何だか分からなくなってきてしまいました。
この調子では実際に運用まで持っていけるサイトが作れるかどうか不安ですが、周囲に開発者がおらず、オンリーロンリーで孤独なので、返信いただけてうれしかったです。勉強します!!この度はありがとうございました♡
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年7月12日 4:25
すべての返信
-
うーん、記載されている内容を手元で試しているわけではありませんが、まずは考えられるところだと、そもそも、ビューに mewmew という列を表示するように設定していないというような落ちとか? または mewmew の内部列名が異なっているというのも考えられるかもしれません。一度別のなまえで作成して表示名だけ変えたとか。。。
- 回答としてマーク mmdirect2001 2017年7月6日 7:06
-
返信ありがとうございます!
スクリプトのmewmewの部分を、もともとの投稿リストにある項目(IDとかTitleとか)に変更するとちゃんと表示されるので、ご教示いただきましたようにビューが違うのかも知れません。・・・とんだ落ちになるといけないので、以下の方法で確認しました。間違っていたらご教示くださいませ。
JSリンクを入れているwebパーツを使っているページ(default.aspx)で[ページの表示]-投稿の[Webパーツの編集]-[リストビュー]ブロックの[現在のビューの編集]リンクをクリックしてチェックが付いていることは確認できました。
ついでに「URL」列にチェックを入れて、mewmewの部分を「URL」に変更したら表示することができました。
ついでに「一度別のなまえで作成して表示名だけ変えた」という懸念をいただいたので、新規で「mewmew1」列を作成し、同様にチェックを入れてスクリプトもmewmew1に書き換えて試してみたところ、undefinedになってしまいました。・・・・と、この状態で一旦、こちらのスレッドにレス入れさせていただいたのですが、もう一度試したら、できました!!!!ありがとうございます!!!
すっぱりと諦めて最初からやり直す、っていうのが大事なんですね。あれこれいじっているうちに何が何だか分からなくなってきてしまいました。
この調子では実際に運用まで持っていけるサイトが作れるかどうか不安ですが、周囲に開発者がおらず、オンリーロンリーで孤独なので、返信いただけてうれしかったです。勉強します!!この度はありがとうございました♡
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年7月12日 4:25