Module Calendar + lien direct vers la node

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 à tous,

je rencontre un nouveau soucis avec l'utilisation du module calendar.
J'ai bien cherché sur le forum anglais mais je n'ai pas réellement trouvé ma réponse.

J'utilise le module calendar sous la forme block calendar dans un colonne de mon site. Or, lorsque je clique sur une des dates correspondante à un événement node, il ouvre une nouvelle page de calendrier. Est il possible de modifier le lien, pour qu'il ouvre directement la node correspondante à la date ? (La spécificité du lien provient du template calendar-datebox.tpl apparemment)

Merci pour votre aide ;)

Forum : 
Version de Drupal : 
Tags : 

hello
Calendar ne fonctionne pas de concert avec le module views ?
Je pensais qu'il suffisait de paramétrer les champs de la vue pour pouvoir modifier ça ?

Sinon désolé, sans avoir le template à disposition difficile de te répondre.

En gros il faut que tu trouves les variables qui arrivent dans ton template. Pour créer un lien vers un node, tu as juste besoin de son "nid" (son identifiant unique de node) pour faire quelque chose comme ça.

<?php
print l('le texte de mon lien', "node/$nid");
?>

Pour info voici le template calendar-datebox.tpl qui apparemment contient la syntaxe des liens du calendrier block :

<?php
 
print ($selected) ? $link : strip_tags($link);
?>

Ca me semble un peu éloigné, en effet des templates de views classiques. Ceci à l'air bien particulier pour ce module précis.

Je suis preneur de toute info car je n'ai pas encore trouvé la solution ;)

Hello je redeterre le sujet pour savoir si vous avez réussis à modifier les liens des calendriers?
à savoir dans theme.inc on a la fonction

<?php
function template_preprocess_calendar_datebox(&$vars) {
 
$date = $vars['date'];
 
$view = $vars['view'];
 
 
$vars['day'] = intval(substr($date, 8, 2));
 
$force_view_url = !empty($view->date_info->block) ? TRUE : FALSE;
 
$vars['url'] = date_real_url($view, NULL, $date, $force_view_url);
 
$vars['link'] = !empty($view->date_info->display_types['day']) ? l($vars['day'], $vars['url']) : $vars['day'];
 
$vars['granularity'] = $view->date_info->granularity;
 
$vars['mini'] = $view->date_info->mini;
 
  if (
$view->date_info->mini) {
    if (!empty(
$vars['selected'])) {
     
$vars['class'] = 'mini-day-on';
    }
    else {
     
$vars['class'] = 'mini-day-off';
    }
  }
  else {
   
$vars['class'] = 'day';
  }
}
?>

seulement je ne sais pas comment est construit et où est construit &$var

Non, malheureusement j'ai laissé tombé.
Le module calendar a un fonctionnement bien précis. On ne peut pas forcément bien outrepasser certains mécanismes de navigation.

je suis preneur si il existe une solution, je garderais ça dans mes archives ;)

P.S. il y a peut être maintenant un autre module plus souple pour cela...