Submitted by aiphes on
Bonjour,
J'ai u type de contenu dans lequel j'upload des images afin d'en faire un diaporama.
Donc une fois les images envoyées, elles sont traitées avec imagecache et affichées via view slideshow.
Pour cela j'ai en champ le imagefield, et en argument le nid.
Viens ensuite l'inclusion dans le node.tpl dédié,et je voudrais rendre cela dépendant de la présence ou non d'images dans imagefield.
Voici mon code de départ:
<?php
//Includes pour afficher vue slideshow multimage sur fiche formation
if($node->field_diapo_fiche_flash['0']['view']): ?>
<div id="diapo_fiche">
<?php foreach ($node->field_diapo_fiche_flash as $item) : ?>
<?php print views_embed_view('Diaporama_slideshow_multimage','default',$view_args); ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
Je m'inspire d'un code qui marche bien avec les filefield classiques, je n'ai jamais essayé avec l'inclusion des vues.Cela fonctionne mais view affiche 4 fois l'image ( j'ai 4 champs) alors que je n'ai envoyé que 2 images.
Le souci vient surtout du test de la présence d'image.Ensuite il faudra que je règle celui de la multiplication des images (je pense que ça vient de view)
Merci
la duplication vient de mon
Permalien Soumis par aiphes le 23 Février, 2011 - 16:26
la duplication vient de mon code, car si je laisse :
c'est parfait, à l'exception du fait qu'il affiche les champs vides , je n'ai mis que 2 images sur 4 possibles. réglage de view ?
cela vient de view slideshow
Permalien Soumis par aiphes le 25 Février, 2011 - 09:57
cela vient de view slideshow qui ne tiens pas compte des champs vides..trés gênant car moche à l'affichage du coup...
tu peux surcharger le
Permalien Soumis par Tofu le 27 Février, 2011 - 02:16
tu peux surcharger le templatage de view slideshow via un views-views-fields-machin.tpl.php ? (je ne connais pas views slideshow)
oui c’est un plugin de views
Permalien Soumis par aiphes le 7 Mars, 2011 - 10:06
oui c'est un plugin de views et donc j'utilise le systeme de surcharge de views..
Une copie du tpl de ta
Permalien Soumis par Tofu le 7 Mars, 2011 - 11:48
Une copie du tpl de ta surcharge de views stp.
actuellement j’inclus le
Permalien Soumis par aiphes le 7 Mars, 2011 - 14:42
actuellement j'inclus le resultat dans un node.tpl via :
je n'utilise pas de views.tpl...peut etre le devrais je ?
mais dans ce cas voila ce qui est proposé :
<?php
// $Id: views-slideshow.tpl.php,v 1.1.2.2.2.4 2010/02/23 22:49:57 psynaptic Exp $
/**
?>* @file
* Default views template for displaying a slideshow.
*
* - $view: The View object.
* - $options: Settings for the active style.
* - $rows: The rows output from the View.
* - $title: The title of this group of rows. May be empty.
*
* @ingroup views_templates
*/
<?php print $slideshow; ?>
du coup pas sur que l'on puisse s'appuyer dessus
vu comme ça, effectivement :p
Permalien Soumis par Tofu le 7 Mars, 2011 - 15:03
vu comme ça, effectivement :p ... j'y réfléchis qd meme
Et comme ça ?
<?php if($node->field_image_deco_lycee[0]['view']): ?>
<?php print $node->field_image_deco_lycee[0]['view'] ?>
<?php endif; ?>
(si il existe, tu me l affiche, sinon rien)
en fait j’ai deja tenté ce
Permalien Soumis par aiphes le 7 Mars, 2011 - 15:25
en fait j'ai deja tenté ce genre la, mais lui comprend "si il y a une image alors j'affiche tout", il n'a pas l'air de checker le nombre reel d'image, c'est oui ou non, pas peut etre..du coup il y a des vides...sauf à mettre le nombre max d'images bien sur..
tu n’as pas le champs Hide if
Permalien Soumis par Tofu le 7 Mars, 2011 - 15:53
tu n'as pas le champs
Hide if empty
Do not display anything for this field if it is empty. Note that the field label may still be displayed. Check style or row style settings to hide labels for empty fields ?
oui je l’ai coché…et cela n’a
Permalien Soumis par aiphes le 7 Mars, 2011 - 16:39
oui je l'ai coché...et cela n'a rien changé..
Et tu n’as que le champs
Permalien Soumis par Tofu le 7 Mars, 2011 - 16:45
Et tu n'as que le champs image ? pas d'autres champs en plus (title, link ...) ?
1 seul champ image..je poste
Permalien Soumis par aiphes le 9 Mars, 2011 - 10:41
1 seul champ image..je poste le code de ma vue sur ce post : http://drupal.org/node/1061132 car ici je ne peux le joindre et c'est assez long..
EDIT : j'ai eu ma réponse sur le forum off, il y a un tuto qui explique cela..apparement il faut choisr [your-filefield]- list dans les filtres.. http://drupal.org/node/814132
les champs vides ne sont pas
Permalien Soumis par aiphes le 10 Mars, 2011 - 11:20
les champs vides ne sont pas affichés mais je voudrais arriver à afficher la DIV seulement si il y a des images , ainsi le code simple fonctionne :
<div id="diapo_fiche">
<?php print views_embed_view('Diaporama_slideshow_multimage','block_1',$view_args);/<em>affiche view slideshow diapo</em>/ ?>
</div>
mais le conditionnel n'affiche rien alors qu'il y a des images dans les champs
<?php
//Includes pour afficher vue slideshow multimage sur fiche formation
if($node->field_diapo_fiche_flash['0']['view']): ?>
<div id="diapo_fiche">
<?php foreach ($node->field_diapo_fiche_flash as $item) : ?>
<?php print views_embed_view('Diaporama_slideshow_multimage','block_1',$view_args);/<em>affiche view slideshow diapo</em>/ ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
comment tester ces champs et afficher la DIV et la vue uniquement si il y a des images dans les champs ?
merci
Tu mélanges du php et du
Permalien Soumis par sahuni le 10 Mars, 2011 - 11:29
Tu mélanges du php et du html!
Comme tu es dans un bloc php, fais :
print '<div id="diapo_fiche">';
print '</div>';
j’utilise deja ce genre de
Permalien Soumis par aiphes le 10 Mars, 2011 - 11:48
j'utilise deja ce genre de code et ca ne pose pas de probleme, toutes les balises php sont fermées..le problème est ailleurs je pense.
oui, excuse-moi, j’ai regardé
Permalien Soumis par sahuni le 10 Mars, 2011 - 11:57
oui, excuse-moi, j'ai regardé trop vite
aprés migration sur le site
Permalien Soumis par aiphes le 7 Avril, 2011 - 16:06
aprés migration sur le site en prod je me retrouve avec une duplication des items...http://www.lycee-celony.com/fiche-formation/bac-artisanat-et-metiers-d-a...
mais je ne me souviens plus comment faire pour éviter les doublons...
Cela va mieux avec ce code,
Permalien Soumis par aiphes le 18 Avril, 2011 - 10:09
Cela va mieux avec ce code, mais j'ai les champs vides affichés..grrr, pourtant j'ai coché "ne pas affiché si vide"...
<?php if($node->field_diapo_fiche_flash[0]['view']
OR $node->field_diapo_fiche_flash[1]['view']
OR $node->field_diapo_fiche_flash[2]['view']
OR $node->field_diapo_fiche_flash[3]['view']):?>
<!-- Diapo deco fiche formation -->
<div id="diapo_fiche">
<?php print views_embed_view('Diaporama_slideshow_multimage','block_1',$view_args); ?>
</div>
<?php endif; ?>