Afficher le contenu de gallery assist dans un node.tpl

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

habituellement je créer mes galeries directement dans l'édition du node via la fonction d'"assignment" de GA.
Mais avec mon nouveau thème j'utilise beaucoup de node.tpl custom.
Du coup la galerie ne s'affiche plus.Je cherche donc quelle est la variable qui me permettra d'afficher cette galerie,comme je le fait avec les champs CCK que j'ajoute au type de contenu..

après recherche voici ou j'en suis :
devel me donne ceci :

[gallitems] => array (
$spacing [1] => stdClass (
         )
$spacing [2] => stdClass (
         )

du coup j'essaye ceci dans mon node.tpl mais sans succés, en plus sur mon site de dev je ne peut pas uploader d'images, donc dur de faire des test...

<?php
    
/<em>insertion du contenu du corps de la page</em>/
      print
$node->content['body']['#value'];
       print
$node->gallitems[0]['view'];
    
?>

quelqu'un sait ou saurai comment procéder ? pour l'instant je pense avoir trouvé la bonne variable, mais ce sont les paramètres qui doivent poser problème..

merci

Forum : 
Version de Drupal : 

Finalement j'ai réussi avec le module GA Views qui permet de récupérer une galerie dans views, puis avec un EmbedViews je la met ou je veux, mais je perds la possibilité de placer la galerie dans le contenu (float).
Mais surtout la lightbox n'est pas active...alors je cherche un moyen de la faire marcher, si quelqu'un peut me donner une piste...
je cherche au final un moyen d'inclure une galerie dans un node.tpl; j'ai tenté nivo slider, mais j'ai des souci de paramétrage,

le code pour GA:

<?php
$viewname
= 'GA_vdl';
$view = views_get_view ($viewname);
$view->set_display('block_1');


//Exécution de le vue
$view->pre_execute();
$view->execute();

if (
$view->result) {
 
// S'il y a un resultat on récupère le titre (ajoute tag h3, et le contenu)
 
$output = '<div id="bloc_actus_rp"><h3>'.$view->get_title().'</h3>' . $view->render().'</div>';
}

//Affiche la vue
print $output;
?>

merci

par contre, toujours pareil, comment l'inclure dans un node.tpl ?

voici mon code de départ :

<?php
//Includes pour afficher Galleryformatters dans node.tpl
/*
 */
if($node->field_gallery_formatter_vdl[0]['view']
        OR
$node->field_gallery_formatter_vdl[1]['view']
        OR
$node->field_gallery_formatter_vdl[2]['view']
        OR
$node->field_gallery_formatter_vdl[3]['view']):?>

<!-- Diapo deco fiche formation -->
    <div id="diapo_fiche">

               <?php  print $node->field_gallery_formatter_vdl[0]['view']; ?>

    </div>
<?php endif; ?>

avec ce code je n'affiche qu'une image (logique) et il n'y a aps le slide et tout le mecanisme de la galerie..

oui j'ai un champ CCK pour uploader les images, mais ensuite je passe par un node-custom.tpl...car il s'agit d'un type de contenu custom, et donc je dois overrider la sortie du node.tpl pour disposer l'élément ou je veux..et c'est là qu'intervient les variables...d'ou mon code...

non, car l'intér^t de faire des node-custom.tpl, c'est de pouvoir disposer les élèments ajoutés (filefield, date,imagefield...) ou on le désire dans el template..ainsi voici un extrait de à quoi ressemble mon node-content_type.tpl :

....
<div id="pageSortieActions_col_G2">
     <?php if ($submitted): ?>
      <span class="submitted"><?php print $submitted; ?></span>
    <?php endif; ?>
    <?php
    
/<em>insertion du contenu du corps de la page</em>/
      print
$node->content['body']['#value'];
      global
$theme_path;
include (
$theme_path.'/includes/inc_GA_view_vdl.php');
     
     
?>

<?php
 
global $theme_path;
include (
$theme_path.'/includes/inc_image_slider_view_vdl.php');

?>

<?php
 
global $theme_path;
include (
$theme_path.'/includes/inc_galleryformatters_vdl.php');

?>
....

ainsi je dois tester la présence d'images et ensuite afficher la galerie...d'ou la difficulté..sauf pour un développeur que je ne suis pas..

bon galleryformatteur c etais pour faire simple.

faut que tu fasse un fonction qui recupére tes photos du style

function recup_img_path($nid_du_node){

// recupération des field image
$req2 = db_query("SELECT * FROM {content_field_img} WHERE nid=%d",$nid_du_node);
while ($result= db_fetch_object($req2)) {
// récup des fid
$val_fid[] .= $result->field_img_fid;
}
// récupération des path des images
//$path_img =array();
foreach ($val_fid as $item) {
$recup_img = db_fetch_object(db_query("SELECT * FROM {files} WHERE fid=%d",$item));
$path_img[] .= $recup_img->filepath;
}
return $path_img;

}

la tu as les chemin de tes images après faut la fonction qui te renvoi ca en html

function display_slideshow($mon_nid) {

$vals = recup_img_path($mon_nid);

// on continu si il y a des images
if ($vals ){
foreach ($vals as $val) {
// ici tu formate ton html comme tu veux
$slide .= "<img src='".$base_path."/".$val."'width='950' height='90' alt='slideshow '/>";

}

}

return $slide;

}

et donc si tu veux pas trop te prendre la tête dans tu appelle la fonction dans ton node_custom.tpl

du style

<?php
 
print display_slideshow($node->nid);
?>

c est pas le plus propre mais c est rapide a mettre en place.

je dois organiser ceci comment ? car je l'ai mis dans mon include mais drupal n'a aps apprécié..

cela va quand même m'afficher une galerie de type formatter ? car j'aime bien els fonctionnalités de celle ci.

il faut créer un petit module dans lequel tu met les fonctions

juste un .info et un .module puis tu l active

et dans ton node_custom.tpl tu appel la fonction.

mais comme je l ai dis plus haut galleryformater doit marcher même sur ton node custom.

la les fonctions ne vont renvoyer que les images.

essaye se petit bout de code dans ta template

<?php
 
foreach ((array)$node->field_photo as $item) {
?>
<?php
 
print $item['view']
?>


<?php
 
}
?>

ça marchera peut-être

+++

ce dernier code m'affiche mes images mais sans les fonctionnalités de la galerie...
est ce que galleryformatters aurait un plugin pour views ? l'inclusion dans un node custom serait plus facile...

si je veux l'afficher, je peux mais avec

<?php
 
print $content;
?>

c'est tout ou rien, et j'ai d'autres champs CCK que je veux disposer comme je le veux...

bien j'ai tenté avec views, et c'est deja bien plus concluant, en effet j'arrive à avoir les miniatures et les grosses images..mais manque le mécanisme du JS il me semble,pourtant j'ai bien les modules jquery installés...
donc j'ai utilisé comme champs :

Contenu : Galerie jQuery Gallery

mais je peux aussi faire avec des galleryformatter inclus...comment ajouter le JS
en sortie de style j'ai mis Non mis en forme et style de ligne : champs

je ne suis plus trés loin...

EDIT: il me semble que mon jquery ne soit pas à jour, en effet j'ai:
jQuery UI 1.6
jQuery Update 1.2.6

et j'ai ces messages :
Slider jQuery UI compatibility 1.6
Colorbox required jQuery version Between 1.3.1 and 1.4+
You need to download and install a 6.x-2.0 version of the jQuery Update module.

Donc je vais faire l'upgrade..et voir ce que cela donne car j'ai ces versions de modules :
jQuery UI 6.x-1.4
jQuery Update 6.x-1.1

EDIT 2 : yes ça marche !!!
trop bien, va falloir que je me penche sur le style de la galerie mais le plus dur est fait...tout ceci après upgrade des librairies JQuery