Configurați șablonul web pentru rezultatele căutării cu fațete din portalul dvs
Puteți vizualiza și căuta atașamentele articolelor de cunoștințe pe portal pe baza Dataverse căutare. Pentru a face acest lucru, trebuie să configurați șablonul web pentru rezultatele căutării cu fațete din portalul dvs.
- În harta site-ului Portal Management Conţinut zonă, selectați Șabloane web.
- De la Șabloane Web active listă derulantă, selectați șablonul web al articolului de cunoștințe.
- Pe Șablon web pagina de pe General fila, adăugați următorul fragment la Sursă camp.
{{#if relatedAttachments}}
{{#each relatedAttachments}}
<li class="note-item">
{{#if isImage}}
<a id="kbattachment-{{entityID}}" href="javascript:downloadKbAttachmentFile('kbattachment-{{entityID}}', '{{title}}', {{fileSize}}, '{{fileType}}', '{{downloadBlockUrl}}', '{{initializeDownloadUrl}}')"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> {{title}}</a>
{{else}}
<a id="kbattachment-{{entityID}}" title="{{title}}" href="javascript:downloadKbAttachmentFile('kbattachment-{{entityID}}', '{{title}}', {{fileSize}}, '{{fileType}}', '{{downloadBlockUrl}}', '{{initializeDownloadUrl}}')"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> {{title}}</a>
{{/if}}
<p class="fragment text-muted">{{{fragment}}}</p>
</li>
{{/each}}
{{/if}}
<script type="text/javascript">
function downloadKbAttachmentFile(attachmentElementId, fileName, fileSize, mimeType, downloadBlockUrl, initializeUrl) {
// Download block API supports max 4MB block size
const blockSizeInBytes = 4096 * 1024;
const totalNumberOfBlocks = parseInt(fileSize / blockSizeInBytes + 1);
var fileContinuationToken = "";
var contentString = "";
var numberOfBlocksDownloaded = 0;
var blockNumberToContentMap = {};
function downloadBlockCallback(i, result) {
numberOfBlocksDownloaded++;
blockNumberToContentMap[i] = result;
if (numberOfBlocksDownloaded == totalNumberOfBlocks) {
for (var j = 0; j < totalNumberOfBlocks; j++) {
contentString += blockNumberToContentMap[j];
}
var isImage = mimeType.startsWith('image/');
const attachmentElement = document.getElementById(attachmentElementId);
if (isImage) {
const bodyByteString = atob(contentString);
const bodyBuffer = new ArrayBuffer(bodyByteString.length);
const bodyView = new Uint8Array(bodyBuffer);
for (var k = 0; k < bodyByteString.length; k++) {
bodyView[k] = bodyByteString.charCodeAt(k);
}
var imageUrl = URL.createObjectURL(new Blob([bodyBuffer], { type: mimeType }));
attachmentElement.href = imageUrl;
attachmentElement.target = "_blank";
}
else {
const linkSource = 'data:' + mimeType + ';base64,' + contentString;
attachmentElement.href = linkSource;
attachmentElement.download = fileName;
}
attachmentElement.click();
}
}
shell.ajaxSafePost({
type: 'GET',
url: initializeUrl,
success: function (result) {
fileContinuationToken = encodeURIComponent(result);
for (var i = 0; i < totalNumberOfBlocks; i++) {
url = downloadBlockUrl + "&blockNumber=" + i + "&fileContinuationToken=" + fileContinuationToken + "&blockSize=" + blockSizeInBytes;
var x = downloadBlockCallback.bind(this,i);
shell.ajaxSafePost({
type: 'GET',
url: url,
success: (result) => { x(result) }
});
}
}
});
}
</script>
- Selectați Salvare.
Consultați și
Adăugați o atașare de fișier la un articol de cunoștințe
Actualizați atașările articolelor din baza de cunoștințe pentru portal
Afișați atașările fișierelor cu articole de cunoștințe
Hinweis
Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)
Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).
Feedback
Trimiteți și vizualizați feedback pentru