[Résolu] - Manipuler champ cck type image

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,

je suis en train de mettre en place mes propres tpl liés à des content type. je change donc node-montype.tlp.php

je cherche à récupérer le filepath des images pour les insérer dans jcarousel

j'ai parcouru le forum, mais je n'arrive pas récupérer cette valeur. Pour info, je comprends un peu le php.

http://drupalfr.org/node/3057

j'ai vu ceci

$node->content['field_FOOBAR']['#value']
$node->field_FIELDFOO[n]

pour ma part voila mon code :

<?php
 
print $node->field_spect_photos[1]['filepath']['#value'];
 print
$node->field_spect_photos[1]['#value'];
 print
$node->content['field_spect_photos[1][filepath]']['#value'];
 print
$node->content['field_spect_photos[1][1]']['#value'];
 
?>

  <ul id="mycarousel">
    <li><img src="<?php print je ne sais pas quoi mettre ici;?>" alt="" /></li>

Ou se trouve mon erreur ?

Merci pour votre aide.

Nopt

Version de Drupal : 

Bonjour et merci pour vos réponses. Effectivement il ne faut pas de value:

la bonne forme est (merci haza):

print $node->field_spect_photos[0]['filepath']

Par contre, on est pas obligé de commencer par 0.

J'ai donc réussi à injecter dans jcaroussel. (bien content, je suis).

A très bientôt. très

Nopt

Bonjour, je réouvre le dossier car, je recontre d'une difficulté supplémentaire. Alors que je récupère facilement les images lorsque je me trouve dans le teaser, lorsque je clique sur en savoir plus (donc je change d'url, je passe de http://localhost/cocktail2/ à http://localhost/cocktail2/content/cocktail), il ne retrouve plus ses petits. Pour info j'ai installé path auto. Je me demande si je ne vais pas être obligé de saisir l'url jusqu'au dossier files en dur ? Autre remarque, je trouve que la gestion des clean url est une vraie usine à gaz au début (entre path, pathauto, globalredirect, .htacces, pre_process(),et autres joyeusetés). J'y perd un peu mon latin.

Voici donc mon code. Que me conseillez-vous ?

<?php
// $Id: node-spectacle.tpl.php,v 1.1 2008/10/01 03:26:19 jwolf Exp $
?>

<!-- start node-spectacle.tpl.php -->
<div id="node-<?php print $node->nid; ?>" class="node <?php print $node_classes; ?>">
  <?php print $picture ?>

  <?php if ($page == 0): ?>
  <h2 class="title"><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
  <?php endif; ?>

   <div class="content">
    <?php print $content ?>
  </div>

<ul id="mycarousel">
<?php foreach ((array)$field_spect_photo as $item) { ?>

<li><img src="<?php print $item['filepath']?>"/></li>
<?php } ?>
</ul>

<?php
//drupal_set_message('<pre>'.print_r($node, true).'</pre>');
?>

  <?php
  jcarousel_add
('#mycarousel', array('horizontal' => TRUE, 'scroll' => 1,'animation' => 'slow'));
 
?>

<?php if ($links): ?>
  <div class="links">
    <?php print $links; ?>
  </div>
  <?php endif; ?>

  <?php if ($node_bottom && !$teaser): ?>
  <div id="node-bottom">
    <?php print $node_bottom; ?>
  </div>
  <?php endif; ?>
</div>
<!-- /#node-<?php print $node->nid; ?> -->

Merci pour votre aide

Je suppose que ton $item['filepath'] retourne bien le chemin.

<ul id="mycarousel">
<?php foreach ((array)$field_spect_photo as $item) { ?>

<li><img src="<?php print $base_path . $item['filepath']?>"/></li>
<?php } ?>
</ul>

$base_path permet de calculer a coup sur le chemin vers la racine (/) de ton site. Donc une fois les clean url activée, c'est indispensable.

Merci pour ton aide, mais j'ai toujours le même symptôme. Finalement j'opte pour la saisie partielle de l'url, et la ca marche. Il faudra que je pense à la changer quand je le mettrai en ligne :-)

<ul id="mycarousel">
<?php foreach ((array)$field_spect_photo as $item) { ?>
<li><img src="http://localhost/cocktail2/<?php print $base_path . $item['filepath'] ?>"/></li>
<?php } ?>
</ul>

Toutefois, cela me perturbe un peu. je me demande bien pourquoi, il ne retrouve pas ses petits. Je ferai des recherches lorsque j'aurai un peu plus de temps. (Maquette à rendre ce soir :-) )

Merci pour ton aide Haza

Noptien