Submitted by mimi19 on
Bonjour,
Je souhaite ouvrir tous les documents uploadés ou lié en CCK dans une nouvelle fenêtre (target:_blank).
Pour ouvrir les documents uploadés, j'ai surchargé la fonction upload_attachments en phptemplate_upload_attachments. Cela fonctionne.
J'ai un soucis car je ne parviens pas à ouvrir les documents liés à une view (création d'une view en affichage tableau avec les documents CCK liés).
Comment faire ?
Merci de votre aide si vous avez une idée ou même une solution.
Salut, pour ouvrir dans une
Permalien Soumis par sahuni le 17 Octobre, 2009 - 09:21
Salut,
pour ouvrir dans une nouvelle fenêtre un champ cck filefield (qui permet un upload), inspire toi de ce post :
http://drupalfr.org/node/7713
Merci pour l'info mais j'ai
Permalien Soumis par mimi19 le 20 Octobre, 2009 - 13:01
Merci pour l'info mais j'ai essayé et je n'y parviens pas.
J'ai overridé la fonction theme_filefield_file : copie de la fonction complète dans le template.php de mon thème et j'ai renommé la fonction par montheme_filefield_file.
J'ai ajouté un array('target' => '_blank')dans les attributs du lien.
Help, merci...
Avec les templates de champs
Permalien Soumis par DavP le 20 Octobre, 2009 - 13:10
Avec les templates de champs cck, tu peux faire autrement.
Tu mets le fichier content-field.tpl.php dans ton thème.
Ensuite tu crées un fichier content-field-mon_champ.tpl.php avec le même contenu que le premier fichier et où mon champ est le nom de variable de ton champs défini dans cck.
Et dans ton template de ton champ cck tu ajoutes les attributs html dont tu as besoin au bon endroit.
PS: Pour que cela fonctionne, il faut en général avoir les deux fichiers (le fichier content-field.tpl.php doit être aussi dans ton dossier de thème).
Merci mais je souhaite
Permalien Soumis par mimi19 le 20 Octobre, 2009 - 13:31
Merci mais je souhaite ouvrir tous les fichiers fieldfile de CCK dans une nouvelle fenêtre : _blank.
De ce fait, il est peut-être plus simple d'overrider la fonction filefield_file mais je n'y parviens pas.
Avez-vous une autre idée SVP. Merci,
Tu peux copier ta fonction
Permalien Soumis par sahuni le 20 Octobre, 2009 - 14:04
Tu peux copier ta fonction ici?
Dans le fichier
Permalien Soumis par mimi19 le 20 Octobre, 2009 - 14:13
Dans le fichier site/all/theme/monintranet/template.php, j'ai ajouté la fonction suivante :
function monintranet_filefield_file($file) {
// Views may call this function with a NULL value, return an empty string.
if (empty($file['fid'])) {
return '';
}
$path = $file['filepath'];
$url = file_create_url($path);
$icon = theme('filefield_icon', $file);
// Set options as per anchor format described at
// http://microformats.org/wiki/file-format-examples
// TODO: Possibly move to until I move to the more complex format described
// at http://darrelopry.com/story/microformats-and-media-rfc-if-you-js-or-css
$options = array(
'attributes' => array(
'type' => $file['filemime'] . '; length=' . $file['filesize'],
),
);
// Use the description as the link text if available.
if (empty($file['data']['description'])) {
$link_text = $file['filename'];
}
else {
$link_text = $file['data']['description'];
$options['attributes']['title'] = $file['filename'];
}
$options['attributes']['target'] = '_blank';
return '
'. $icon . l($link_text, $url, $options) .'
';
}
tu n'as pas mis le target au
Permalien Soumis par sahuni le 20 Octobre, 2009 - 14:40
tu n'as pas mis le target au bon endroit. tu dois rajouter l'attribut target, donc :
$options = array(
'attributes' => array(
'type' => $file['filemime'],
'length' => $file['filesize'],
'target' => "_blank",
),
);
Là, ça va marcher
lol, ça marche ;o)) Merci
Permalien Soumis par mimi19 le 20 Octobre, 2009 - 14:48
lol, ça marche ;o))
Merci beaucoup et bonne journée...
Super, un petit résolu dans
Permalien Soumis par sahuni le 20 Octobre, 2009 - 14:56
Super,
un petit résolu dans le titre pour fêter la victoire?
et sous D7
Permalien Soumis par selinav le 12 Juillet, 2012 - 14:59
et sous D7 c'est