SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Ergebnis aus Webpart Suchergebnisse als Modal Dialog Box wiedergeben

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 6 Antworten | 1 Follower

Top-500-Beitragsschreiber
46 Beiträge
Andreas Körner erstellt in 10 Jul 2018 16:33

 

Hallo zusammen,

ich habe eine Liste, in welcher ich die einzelnen Listenelemente mittels einem angepassten Infopath-Formular im Modal-Dialog öffnen kann. Die Liste bzw Listenelemente daraus stelle ich nun in einem Suchergebnis-Webpart zur Verfügung, was soweit auch klappt. Zwar werden die Listenelemente  im Infopath-Formular dort als Ergebnis wiedergegeben, aber nicht im Modal-Dialog. Hat jemand vielleicht eine Idee, wie ich diesen auch für die Sucherergebnisse im Webpart erhalten kann?

 

Besten Dank für eure Hilfe und/oder Ideen.


Andreas

 

 

Alle Antworten

Top-10-Beitragsschreiber
18.696 Beiträge

Dazu muß das Search Display Template angepaßt werden, um den Link mittels SP.UI.ModalDialog zu öffnen. -> Google

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
46 Beiträge

 

Normal 0 21 false false false DE X-NONE X-NONE

Hallo Andi,

 

 

danke für den Hinweis. Laut dem, was ich gefunden habe, scheint es mir aber so als ob das Search Display Template eher auf den Hover-Effekt (wenn ich mit dem Mauszeiger über den Link des Elements gehe) abzielt als auf die sich öffnende Modal Dialog-Box (bei Betätigen des Element-Links ein Pop-Up). Da das Suchergebnis immer zur DispForm.aspx führt, dachte ich eher daran darin den Modal-Dialog einzubetten. Allerdings weiß ich noch nicht genau wie da asp. Oder im script-Bereich, wofür ich jedoch auch noch nicht das passende Script gefunden habe.

 

Top-10-Beitragsschreiber
18.696 Beiträge

Das Display Template ist komplett für die Darstellung eines Suchergebnisses verantwortlich. Wenn Du dort etwas ändern möchtest, mußt Du also im Display Template ansetzen. Standardmäßig erzeugt das einen simplen Link und beim Drüberfahren dieses Hover Panel (für das auch ein Display Template gibt).

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
46 Beiträge

 

Ich habe das jetzt auch so im Item_Default_Template gemacht, aber irgendwas stimmt da noch nicht. Schau dir bitte mal die folgende Zeilen an:

<div id="_#= $htmlEncode(itemId) =#_" onclick="javascript: SP.UI.ModalDialog.showModalDialog({_#= $htmlEncode(itemId) =#_; _#= $htmlEncode(itemId) =#_});" name="Item" data-displaytemplate="DefaultItem" class="ms-srch-item" onmouseover="_#= ctx.currentItem_ShowHoverPanelCallback =#_" onmouseout="_#= ctx.currentItem_HideHoverPanelCallback =#_">
 _#=ctx.RenderBody(ctx)=#_
</div>

Die Variable "itemId ist dabei wie folgt definiert:

var itemId = id + Srch.U.Ids.item;

Ich tappe eigentlich die ganze Zeit im Dunkeln, da ich mich mit den Anzeigevorlagen noch nie beschäftigt habe.


 

_#=ctx.RenderBody(ctx)=#_
// -->

Top-10-Beitragsschreiber
18.696 Beiträge

Du mußt beim showModalDialog ein passendes Options-Objekt mit der ganzen URL mitgeben. Die URL sollte sich dort eigentlich irgendwo finden, weil sie ja für den Link verwendet wird.

Und Du solltest nicht das Default-Template verbiegen. Das wird ja für alle Suchergebnisse verwendet. Lege lieber ein eigenes an und sage dem Searchresult-Webpart, daß es das verwenden soll.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
46 Beiträge

Ja die Url zu finden, ist gar nicht mal so einfach. Aber ich schaue mal weiter..danke erst einmal für die Hinweise

 

Ps: Natürlich habe ich nicht das Original-Default-Template genutzt, sondern eine Kopie dessen ;-)

Seite 1 von 1 (7 Elemente) | RSS