eZPublish Lien direct vers une image ou un fichier

J’ai été récemment confronté au fait de créer un lien direct vers un fichier ou une image dans eZPublish. Par défaut lorsque l’on créé un lien, il créé un lien vers le noeud et non vers le fichier présent dans le noeud.

Voici une solution (il y en existe peut être d’autres ?), il faut overrider le fichier content/datatype/view/ezxmltags/link.tpl et le modifier comme ceci :

{def
    $dl_n=''
    $dl_attribute=''
    $dl_url=''
    $dl_protocols=array('http', 'file', 'ftp', 'mailto', 'https')
}

{if is_set( $href )}
    {if $dl_protocols|contains( $href|explode(':')|extract_left(1) )not()}
        {set $dl_n=fetch(content, node, hash(node_path, $href))}
        {if $dl_n}
            {if or($dl_n.object.class_identifier|eq('image'),$dl_n.object.class_identifier|eq('file'))}
                {if $dl_n.object.class_identifier|eq('image')}
                    {set $dl_attribute=$dl_n.data_map.image}
                    {set $dl_url=concat('/',$dl_attribute.content.original.url)}
                {else}
                    {set $dl_attribute=$dl_n.data_map.file}
                    {set $dl_url=concat( '/content/download/',  $dl_attribute.contentobject_id, '/',  $dl_attribute.id,'/version/',  $dl_attribute.version , '/file/',  $dl_attribute.content.original_filename|urlencode )}
                {/wash ">if} {/if}
        {/if}
    {/if}
{/if}

‹a href={if eq($dl_url|count_chars(),0)|not()}{$dl_url}{else}{$href|ezurl()}{/if} {if $id} id="{$id}"{/if}{if $title} title="{$title}"{/if}{if $target} target="{$target}"{/if}{if $classification} class="{$classification|wash}"{/if}{if and(is_set( $hreflang ), $hreflang)} hreflang="{$hreflang|wash}"{/if}›{$content}‹/a›

{undef $dl_n $dl_attribute $dl_url $dl_protocols}

Ensuite le lien se fera automatiquement vers le fichier si c’est un fichier.

Petit d’exemple d’override :

[ezmxltags_link]
Source=content/datatype/view/ezxmltags/link.tpl
MatchFile=content/datatype/view/ezxmltags/link.tpl
Subdir=templates

Source de cette astuce : Direct link to a file on image

Johann

Johann

Webmaster depuis 1998, Créateur de JeVendsLaBoutique.com, J’accompagne les Entrepreneurs passionnés et Freelances à développer leur activité sur Internet.

Partager cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

A propos

Johann ROCHE

Webmaster depuis 1998, Créateur de JeVendsLaBoutique.com, J’accompagne les Entrepreneurs passionnés et Freelances à développer leur activité sur Internet.

Articles récents

Me suivre

✉️ Faire partie de mes contacts