Bonjour,
Dans le blog que j’ai mis en place, il est possible d’attacher des fichiers grâce au module upload. Lorsqu’un billet est créé avec des fichiers attachés, 1 lien indique le nombre de fichiers attachés. Lorsque l’on clique sur ce lien, on voit l’entier du billet suivit d’un tableau avec tous les fichiers attachés.
Comment faire pour que ce tableau soit visible directement dans le billet sans que l’on doive l’ouvrir ou cliquer sur le lien ?
Faut il faire une modification dans le thème ou dans le module blog ou upload ? Dans le module upload, j’ai retrouvé la fonction theme_upload_attachments($files)-> Displays file attachments in table. Je ne sais pas si je dois utiliser cette fonction pour résoudre ce problème d’affichage ?
Merci
Raphael
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Hello, peut-être en réglant la longueur des contributions abrégées sur «illimité» ?
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Comment faire pour que ce tableau soit visible directement dans le billet sans que l’on doive l’ouvrir ou cliquer sur le lien ?
En fait ce que tu vois n’est pas le billet mais le «teaser» donc la question est plutot comment voir les fichiers ds le «teaser».
Don perso j’ai une reponse «sale»
ds le module upload, tu as la fonction
upload_nodeapiqui justement s’occupe de rajouter les fichiers ds les nodes.Donc si on regarde le code
<?phpcase 'view':
if (isset($node->files) && user_access('view uploaded files')) {
// Add the attachments list to node body with a heavy
// weight to ensure they're below other elements
if (count($node->files)) {
if (!$teaser && user_access('view uploaded files')) {
$node->content['files'] = array(
'#value' => theme('upload_attachments', $node->files),
'#weight' => 50,
);
}
}
}
break;
?>
y a un ti «if ( !$teaser …» qui empeche de voir les fichiers si t ds le teaser.
Donc si tu enleves ca, bin ca te feras tout le tps apparaitres les fichiers.
Bon par contre apres il reste le probleme des links ce que tu decris par «1 lien indique le nombre de fichiers attachés».
Ca c’est pris en charge par le hook_links, donc ds le code
upload_links. La, pareil, la solution sale est de commenter toute la fonction et t’es tranquile…Bon c bien joli tout ca, mais du coup ca fait des modifs ds le core et c pas top.
Le pb est que je suis pas tres sur de la version «propre» de mon code.
1/ Y a pas de theme qui gere ca.
2/ a mon avis il faut surcharger les fonctions
upload_nodeapietupload_linkspar un module propre mais j’avoue que je saurai pas trop comment m’y prendre…tostinni
1268
Merci pour vos réponses qui m’ont aidé à y voir plus clair !
en réglant la longueur des contributions abrégées sur «illimité» ?
Cela affiche tout ce que contient le body, mais pas les fichiers attachés.
Après 2-3 essais, il suffit d’enlever le « !» se trouvant dans le code proposé par tostinni juste avant le «$teaser» pour afficher les fichiers attachés (dans le teaser) :
if (!$teaser && user_access('view uploaded files')Raphael
12
Oublie pas de modifier aussi le
upload_linkstostinni
1268
tostinni a tout à fait raison : mieux vaut ne pas modifier le noyau de Drupal ; il t’a d’ailleurs indiqué la bonne solution (utiliser hook_nodeapi() pour l’affichage des fichiers attachés dans le teaser, et hook_link_alter() pour modifier les liens affichés sur le node).
Cela dit, si tu débutes avec Drupal, tout ça te paraîtra probablement compliqué, alors un conseil : garde un fichier dans lequel tu répertories toutes les modifications que tu fais dans le noyau de Drupal. Ainsi, le jour où tu le mettras à jour, tu pourras reporter ces modifs dans la nouvelle version sans trop de difficulté.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
C’est bon j’y suis arrivée merci,
j’ai juste un petit probleme, le lien en savoir plus et après le fichier à télécharger …
J’aimerais qu’il soit avant c’est plus propre et compréhensible
merci
elodie30
23