Salut à tous,
Avant toute chose je tiens à remercier toute la communauté drupal qui milite activement pour ce fabuleux CMS; Je suis developpeur php/mysql à la base et cela fais quelques mois que je travail sur Drupal, jusque là je n'avais pas rencontré de problèmes insurmontable, et je dois avouer que le problème qui mêne mes pas à vous, est relativement simple, mais voilà la solution m'échappe quelques peu( Au risque de paraitre ridicule - bien que le ridicule ne tue pas lol). Mon problème est le suivant: --> Je voudrais afficher une image dans mon header qui est definis comme suit dans ma page.tpl.php:
<div id="header" class="clear-block">
<div id="info-header">
<a href="#">Plan du site</a>
<a href="#">Flux RSS</a>
<div id="time">
<script type="text/javascript" language="javascript" src="clock.js"></script>
<noscript><a href="http://www.editeurjavascript.com/">ajax</a></noscript>
</div>
</div>
<?php if ($search_box): print $search_box; endif; ?>
<?php if ($header): ?>
<div id="header-blocks" class="sectionregion"><?php print $header; ?></div> <!-- /header-blocks -->
<?php endif; ?>
<table id="header-tab" width="980" cellpadding="1" border="0" border-color= #000;>
<tr>
<td>
<?php if ($site_logo or $site_name or $site_slogan): ?>
<div id="branding">
<?php if ($site_logo or $site_name): ?>
<?php if ($title): ?>
<div class="logo-site-name"><strong>
<?php if ($site_logo): ?><span id="logo"><?php print $site_logo; ?></span><?php endif; ?>
<?php if ($site_name): ?><span id="site-name"><?php print $site_name; ?></span><?php endif; ?>
</strong></div>
<?php else: /* Use h1 when the content title is empty */ ?>
<h1 class="logo-site-name">
<?php if ($site_logo): ?><span id="logo"><?php print $site_logo; ?></span><?php endif; ?>
<?php if ($site_name): ?><span id="site-name"><?php print $site_name; ?></span><?php endif; ?>
</h1>
<?php endif; ?>
<?php endif; ?>
<?php if ($site_slogan): ?>
<div id="site-slogan"><?php print $site_slogan; ?></div>
<?php endif; ?>
</div> <!-- /branding -->
</td>
<td>
<?php endif; ?>
<?php if ($primary_menu or $secondary_menu): ?>
<div id="nav" class="clear-block">
<?php if ($primary_menu): print $primary_menu; endif; ?>
<?php if ($secondary_menu): print $secondary_menu; endif; ?>
</div> <!-- /nav -->
<?php endif; ?>
</td>
</tr>
<tr>
<td><div id="head-img"><img src="../images/diapo_01.jpeg" width="968"></div></td>
</tr>
</table>
</div> <!-- /header -->seulement j'ignore pourquoi cela ne fonctionne pas. Je pensais employer une fonction du genre drupal_get_path afin de mieux repérer le chemin de mon fichier seulement j'ignore si cela est indiqué. Etant debutant, je préfère m'en remettre à vos conseils avisés.
Bien cordialement.
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

j’ai édité ton message pour ajouter des balises de code.
De manière générale il faut utiliser base_path() pour être sur que le chemin de l’image soit toujours bon :
<img src="<?php print base_path();?>sites/all/themes/montheme/images/monimage.jpg">tu peux aussi avoir dynamiquement le chemin de ton theme avec path_to_theme() (ce qui ne dispense pas d’utiliser base_path)
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838
J’ajouterais que tu peux utiliser theme(‘image’, $path, $alt, $title, $attributes) pour générer automatiquement une balise img.
http://api.drupal.org/api/function/theme_image/6
Dans ton cas :
[...]<td><div id="head-img"><?php print theme('image', 'images/diapo_01.jpeg'); ?> </div></td>
[...]
blaise35
16
Merci pour vos infos cela confirme bien ce que je pensais. Je ferais ainsi. Cela dis Blaise35, pour utiliser «theme(‘image’, ‘images/disapo_01.jpeg’)» il faudrait, je crois definir cela dans mon template.php non ?
Souhiji
souhiji
58
Non ce n’est pas nécessaire.
Je ne vais pas expliquer en long et en large le système de theming de Drupal, mais pour être court :
Lorsque tu appelle theme(‘image’…) :
Drupal détermine à travers le theme registry s’il s’agit d’une fonction de theme ou d’un template.
Dans le cas d’une fonction (notre cas), il recherche une liste de fonctions candidates (les suggestions) :
Donc pour résumé si tu ne déclare ni la première ni la seconde fonction, Drupal prendra la fonction par défaut qui est toujours déclarée. Le lien que je t’ai donné est la doc de la fonction par défaut.
Un peu de lecture :
http://drupal.org/files/theme_flow_6_0.pdf
blaise35
16
C’est déjà un peu plus clair là Blaise35. Merci encore pour ces éclaircissements. Un très très grand merci à toi ainsi qu’à tous.
Souhiji
souhiji
58
rha je connaissais pas theme_image . Ca rajoute automatiquement la base_path() si besoin dans le chemin apparemment… Merci pour le tuyau :-)
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838
J’aurais une autre question concernant toujours le même type de soucis mais à présent c’est différent, je m’explique. J’ai différents type de contenus (article, page, verbiages,…), et différentes sections (visiter, connaître, vivre…), j’aimerais que dans chaque section l’image soit différente sachant que toutes ces sections utiliserons les mêmes type de contenu.
Souhiji
souhiji
58
Tu pourrais créer un bloc par section, chacun contenant l’image que tu souhaites et ne s’affichant que là où tu le souhaites.
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838
Il faut que tu fasses un nouveau sujet pour ta nouvelle question, et que tu indiques celui ci comme résolu.
Soit un peu plus clair sur ta question car j’ai pas compris grand chose…
blaise35
16
Ooops !! désolé d’avoir mis ma question ici Blaise. je le mets dans un nouveau sujet.
Souhiji
souhiji
58