クライアントサイドレンダリング(JSLINK)を使用した繰り返しカレンダーイベントのビューをカスタマイズする
-
29-09-2020 - |
質問
カレンダービューにCSRを適用しようとしています。これは働いていないようです。
実際、JSLink
で指定されたファイルはまったくロードされていません。
基礎として、標準の「現在のイベント」を使用しています。
属性にXsltListViewWebPart
が表示され、属性がServerRender="False" ClientRender="False"
を表示するビューを表示するRecurrenceRowset="TRUE"
を表示します。
ClientRender="False"
属性を推測しているのは、JSLink
がまったく使用されていない理由です。ただし、ClientRender="True"
が同時に設定されているときにRecurrenceRowset="TRUE"
を設定することは不可能です。
RecurrenceRowset="False"
を設定すると、ClientRender="True"
を設定でき、JSLink
が完璧になります。しかし、そのように私は繰り返しのイベントを失います。
CSRをカスタマイズしながらカレンダーから繰り返しのイベントを表示する「素晴らしい」方法はありますか?
解決
これにかなり奮闘した私は本当の解決策がないと感じています!
ビュー上のRecurrenceRowset="TRUE"
を設定すると、ClientRender="False"
を意味していますが、その上のソースは見つかりません。
唯一の素晴らしい方法(私のため)は、デフォルトのカレンダービューをまったくスキップして、素敵なカスタムページを追加し、CSOMを使用してカレンダーエントリをロードすることです。
(または caml-queryでGetListItems
を設定できるように見えるspservices
他のヒント
JSlinkのロードされていないJSLinkの非常に一般的な理由の1つは、jSlinkプロパティで誤ったパスを指定したことです。
JSLink上で警告を付け、リストビューで警告が表示されていることを確認します。これは、私たちのリンクが正しいJSlinkファイルを指していることを示しています。
通常、サイトコレクションのサイト資産ライブラリ(JSフォルダ)にあるすべてのJSLinkファイルを格納し、そのパスは以下のようになります。 -
~sitecollection/SiteAssets/JS/jslinkfilename.js
.
同様に現在のWebに保存した場合は、
を使用します。~site/SiteAssets/js/jslinkfilename.js
.
これが役に立つことを願っています