2010-09-23 16 views
1

Comment ouvrir un document PDF stocké dans Sitecore lorsqu'un utilisateur clique sur un lien? Le document pdf est stocké dans la médiathèque. Voici le code que j'ai maintenant:Comment ouvrir un PDF dans Sitecore

Sitecore.Data.Fields.LinkField linkField = item.Fields["Url"]; 
tab.NavigateUrl = linkField.Url; 

Répondre

4

Les mêmes règles sont applicables aux médias PDF à tout autre type dans la bibliothèque multimédia. Si vous avez juste besoin de récupérer l'URL de médias pour construire un lien, procédez comme suit:

MediaItem mediaItem = linkField.TargetItem; 
if(mediaItem != null) 
MediaManager.GetMediaUrl(mediaItem); 

Vous pouvez également utiliser simplement le contrôle Web ou le contrôle de xsl pour rendre le lien: contrôle Web:

<sc:Link Field="Url" Item="if you need to process specific item" runat="server" /> 

Si votre question porte sur le comportement du navigateur lorsque le lien est cliqué, définissez ForceDownload true:

<mediaType name="PDF file" extensions="pdf"> 
    <mimeType>application/pdf</mimeType> 
    **<forceDownload>true</forceDownload>** 
    <sharedTemplate>system/media/unversioned/pdf</sharedTemplate> 
    <versionedTemplate>system/media/versioned/pdf</versionedTemplate> 
</mediaType> 
+1

Les options MediaUrlOptions pouvant être transmises à MediaManager ne semblent pas correspondre à l'URL Options utilisées par un gestionnaire de liens Est-il possible de spécifier quelque chose comme UrlOptions.AlwaysIncludeServerUrl pour le MediaManager? –

0

Soyez au courant des problèmes avec Firefox sur un Mac, en PDF s ne semblera pas fonctionner là.

Pour cela, vous devez configurer certains éléments selon this.

si vous ne pouvez pas accéder à qui vous dit essentiellement d'aller à la web.config, trouver ceci:

<mediaType name="PDF file" extensions="pdf"> 

et changer le

<forceDownload>false</forceDownload> 

à

<forceDownload>true</forceDownload>