Submitted by Devcal on
Bonjour,
J'essaye de faire un petit module de météo perso.Il marche très bien en dur, maintenant je souhaite réaliser un module qui génére un block dans lequel s'affiche la méteo.
J'ai récupéré la structure d'un module de base qui affiche hello world
<?php
//////////////////////////////////////////////////////////////////
case 'view' :
{
$bloc = array();
if ($delta == 'hello_world') {
// Construction du contenu
$contenu = "Salut le monde";
// Ajout du message
$contenu = "" . variable_get('hello_world_message', "pas de message défini");
$contenu ="test";
// Construction du block
$bloc['subject'] = t('Hello World');
$bloc['content'] = $contenu;
}
return $bloc;
} // fin du cas 'view'
//////////////////////////////////////////////////////////////////
?>
Ma question est comment passé du php dans le contenu du block , dans mon cas les resultats de la méteo.
voila le code que je souhaite afficher :
<?php
//////////////////////////////////////////////////////////////////
$i=0;
foreach ($days as $day)
{
echo '<td>';
$title = $day['day']['t'];
echo date_fr('l', strtotime("+$i day", $now)) . " <br />";
echo '<img src="' . WEATHER_ICONS_URL . $day['day']['icon'] . '.png"';
echo $day['hi'] == 'N/A' ? '—' : WdWeather::toCelsius($day['hi']) . '°C';
echo ' · ';
echo $day['low'] == 'N/A' ? '—' : WdWeather::toCelsius($day['low']) . '°C';
echo '</td>';
$i++;}
//////////////////////////////////////////////////////////////////
?>
Comment passé mon code dans "$bloc['content'] = $contenu;"? Concaténation ? j'aimerai avoir quelques pistes
Merci d'avance
désolé, mais y’a pas un moyen
Permalien Soumis par Devcal le 3 Janvier, 2011 - 06:39
désolé, mais y'a pas un moyen de rendre le code plus lisible sur un post?
si, avec les tags <code> et
Permalien Soumis par vincent59 le 3 Janvier, 2011 - 09:07
si, avec les tags <code> et </code>, cf. format d'entrée
Corrigé :)
Permalien Soumis par haza le 3 Janvier, 2011 - 09:45
Corrigé :)
Bonjour, Oui il faut
Permalien Soumis par Aya le 3 Janvier, 2011 - 09:24
Bonjour,
Oui il faut concaténer tes valeurs de retour et ne pas faire de echo.
exemple:
$texte= date_fr('l', strtotime("+$i day", $now)) . " <br />";
$texte.= '<img src="' . WEATHER_ICONS_URL . $day['day']['icon'] . '.png"';
Ensuite ne pas oublier de mettre la valeur dans $bloc['content'];
$bloc['content']=$texte
Et pour finir renvoyer le bloc
return $bloc;
Ps: Pour modifier le titre du bloc il faut insérer ta valeur dans $bloc['title']:
$bloc['title']=$day['day']['t'];
Cordialement, Aya
Et bonne Année a tous
Merci, j'ai essayer mais je
Permalien Soumis par Devcal le 4 Janvier, 2011 - 01:21
Merci, j'ai essayer mais je n'arrive pas a caler mon foreach
$i=0;
foreach ($days as $day)
{
$contenu.= date_fr('l', strtotime("+$i day", $now)) . " <br />";
$contenu.= '<img src="' . WEATHER_ICONS_URL . $day['day']['icon'] . '.png">';
$i++;
}
car je souhaite afficher la méteo de la semaine (4 jours)
Est-ce que tu pourrais copier
Permalien Soumis par Aya le 4 Janvier, 2011 - 09:49
Est-ce que tu pourrais copier tout le code de ton bloc stp? Car la j'ai du mal a me l'imaginer. Cela pourra surement m'aider a trouver une solution a ton problème . Merci
Cordialement, Aya
C’est bon ca marche super
Permalien Soumis par Devcal le 5 Janvier, 2011 - 01:16
C'est bon ca marche super bien, c’était un erreur de ma part.La fonction qui générai le bloc n'arrivai pas appeler la fonction qui gère la météo.
Merci de ton aide , maintenant j'ai mon petit module météo perso