J'essaie d'ajouter des images personnalisées dans l'affichage du calendrier de Drupal en cochant «nid» d'un nœud (ou d'un terme de taxonomie à l'avenir). J'écris ce code personnalisé dans views-view-field-calendar-nid.tpl. Le problème est que, ce qui est jamais sorti par views-view-field-calendar-nid.tpl est également inséré dans l'attribut 'id' de div tag. Veuillez voir la deuxième étiquette div.Ajout d'images personnalisées à une vue du calendrier
254 était la sortie et il est également inséré dans l'attribut 'id'.
<div class="view-item view-item-calendar">
<div class="calendar monthview" id="calendar:
254:changed:0:0">
<div id="nid" class="view-field view-data-nid">
254 </div>
</div>
Ainsi, lorsque des vues avec vue sur le terrain - Calendrier - Sorties nid.tpl img tag, il pouvez également obtenir inséré dans l'attribut 'id', qui brise la seconde balise div.
S'il vous plaît, voir ci-dessous la sortie
<div class="view-item view-item-calendar">
<div class="calendar monthview" id="calendar:
<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>255:changed:0:1">
<div id="nid" class="view-field view-data-nid">
<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>255 </div>
</div>
</div>
Screenshot:
alt text http://img201.imageshack.us/img201/3140/calendarproblem.png
S'il vous plaît noter que vue Calandre a essayé d'insérer la sortie avec img étiquette à l'intérieur de cet attribut 'id' et tout est maintenant foiré ...
Comment empêcher Calender d'insérer une sortie dans l'attribut 'id'? Ou existe-t-il une autre manière d'insérer des images dans la vue Calendrier?
Voici le code de vues vue sur le terrain - Calendrier - nid.tpl
<?php
$results = $variables['view']->result;
$nid=$output;
$newOutput="";
foreach ($results as $key => $value) {
//Find the matching nid
if ($nid==255) {
$newOutput.= '<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>';
}
$newOutput.=$nid;
}
print $newOutput;
?>
Un module peut également mettre en oeuvre 'hook_preprocess_calendar_node()'. Utiliser un module personnalisé implémentant une telle fonction est préférable, car vous pouvez utiliser n'importe quel thème sans ajouter 'template_preprocess_calendar_node()' à chacun d'entre eux. – kiamlaluno
Je vais certainement essayer d'écrire ma propre fonction de pré-traitement. Puis-je ajouter cette fonction dans le même fichier modèle? @kiamlaluno, merci pour l'astuce, l'écriture d'un module personnalisé semble meilleure option –
@Ajinkya Kulkarni, vous pouvez l'ajouter directement à template.php dans votre thème. N'oubliez pas de vider votre cache de thème. –