SP OOTB画像ライブラリスライドショーのWebパーツを使用して画像にリンクを設定するにはどうすればよいですか?
-
16-10-2019 - |
質問
写真ライブラリにリンク列を追加し、リンクが入力されました。次に、SP OOTB画像ライブラリスライドショーのWebパーツを追加しました。両方の写真とその説明が表示されています。画像にリンクが必要なので、ユーザーが画像をクリックすると、リンクフィールドに入れたものはすべてになります。
解決
これは、Slide Show WebPartのOOTB機能ではありません。この動作を達成するには、Webパートを拡張して機能を追加するか、jQuery/spservicesでリンクを設定できます。
よろしく、アニタ
他のヒント
画像ライブラリスライドショーWebパーツ 密閉, 、だからそれを拡張する方法はありません。
ただし、クライアント側でカスタマイズできます。以下に示すソリューションは、スライドショーコントロールをカスタマイズする方法を示しています。
カスタム画像ライブラリフィールドをロードします
次のフィールドは、画像ライブラリスライドショーWebパーツの画像ライブラリからのSpqueryを介してロードされます。
Title
- 画像タイトルDescription
- 写真の説明EncodedAbsWebImgUrl
- Web画像のURLは、画像を表示するために使用されますEncodedAbsUrl
- 元の画像のURLは画像リンクに使用されますImageWidth
- 画像幅ImageHeight
- 画像の高さ
したがって、画像リンクのカスタムフィールドを指定するには、ロードする必要もあります。クライアント側のスライドショー初期化中に追加のフィールドの読み込みが発生する可能性があります。
画像リンクのカスタムフィールド値を指定します
カスタムフィールドが読み込まれた後、カスタム画像リンク値を変更するだけです。
それを達成するために、画像を初期化するためにJavaScript関数をオーバーライドします。
以下のコードは、オーバーライドする方法を示しています ShowPic
スライドショーの画像の初期化に使用される関数:
<script type="text/javascript">
function SlideshowObjectInitializer() {
ShowPic = (function(ShowPicOrig) {
return function() {
var ssObj = arguments[0]; //SlideShow object
var curPicIdx=ssObj.index; //current picture index
ShowPicOrig.apply(this, arguments); //call original ShowPic
ssObj.link.href = ''; //<--put your custom picture link url here
};
})(ShowPic);
}
ExecuteOrDelayUntilScriptLoaded(SlideshowObjectInitializer, 'imglib.js');
</script>
実装の詳細については、フォローしてください このブログ投稿.
このタスクを完了するには2013年にOOTBの機能があり、すべてサイトコレクション管理者許可レベルで行うことができます(農場管理者の方がうまくいくことができますが、それはより複雑になるので、私はそれをカバーしません)
- 画像ライブラリを追加し、写真を入力します
- 行きます サイト設定 > サイト列 (Webデザイナーギャラリーの下)> 作成 新しいサイト列
列名: スライドURLテキスト (あなたが望むものは何でも名前を付けることができますが、あなたがそれに名前を付けることを覚えておいてください)
列タイプ: テキストの単一行 - ステップ1で作成した画像ライブラリに戻ります。 ライブラリ設定 > 既存のサイト列から追加します > スライドURLテキスト
- 次に、ライブラリの各画像を編集し、にリンクするURLを追加します スライドURLテキスト ボックス、そして 農場管理者がいる場合は、完全な検索クロールが発生するか、手動で実行するのを待ちます - デフォルトでこれは1時間ごとに発生します
- スライドショーが必要なページを編集して、まだ持っていない場合はWebパーツを追加してからクリックします Webパーツを編集します
- チェックボックスを選択して、プロパティマッピングを変更します 'アイテムディスプレイテンプレートのフィールドのマネージドプロパティのプロパティマッピングを変更する'
- リンクURLフィールドで、あなたを見つけます スライドURLテキスト フィールドに入力してください - 他に何も変更しません。 [OK]をクリックして、ページを保存 /公開します。 以下の画像を参照してください
SharePointがスペースを削除し、通常は列の前または後ろにある文字を追加することに気付く - これは、農場管理者が役立つ場所で、管理されたプロパティをカスタマイズして希望する方法を表示するだけでなく、使用できるようにすることができますこれと同じ目的のためのハイパーリンクフィールド
あなたは終わった。すべてが機能するはずです!
完全なクロールが発生するのを待つようにしてください(検索タイマージョブの設定方法に応じて、一晩待つ必要がある場合があります。SharePoint管理者に、わからない場合はフルクロールが発生する頻度を尋ねます。
幸運を!
重要な注意点: ハイパーリンクされたクロールプロパティをテキストタイプの管理されたプロパティにマッピングする必要があるため、クロール /マネージドプロパティで何をしているかを知らずに、このためにハイパーリンクフィールドを使用しようとしないでください。あなたに厄介なエラー。