C'était une solution simple mais efficace, en utilisant CCK et vues:
Créer un type de contenu 'photos d'en-tête'. Ajoutez des champs pour les images, l'URL et la liste de sélection "Afficher quand". Images J'ai utilisé le téléchargement d'image avec le module de recadrage, contraint à 400px de large par 100px de haut pour tenir dans le bloc d'en-tête.
'show lorsque' liste de sélection I peuplée d'été, l'hiver, l'automne, Halloween, Noël, Jour de l'ancien combattant, etc.
url est facultative.
En vue, filtrer par type = header_pic et show_when = tout ce que vous voulez afficher maintenant, limite = 1.
Besoin addon module PHP CustomField pour les vues, et d'ajouter:
<?php
$temp = node_load($data->nid);
if ($data->node_data_field_header_pic_url_field_header_pic_url_url) {
echo '<a href="' . $data->node_data_field_header_pic_url_field_header_pic_url_url
. '" title="' . $data->node_data_field_header_pic_url_field_header_pic_url_title
.'"><img src="/' . $temp->field_header_image[0]['filepath'] . '" /></a>';
}
else {
echo '<img src="/' . $temp->field_header_image[0]['filepath'] . '" />';
}
?>
Lorsque la les champs que j'ai notés correspondent à vos champs réels.
Cela ne fait qu'emballer l'image avec ce champ URL uniquement si le champ URL est rempli.
Définissez ensuite la vue dans un affichage de bloc et définissez ce bloc dans la zone d'en-tête. Selon le thème, vous devrez peut-être un peu pirater le fichier page.tpl.php pour déplacer cette région de bloc d'en-tête dans la zone d'en-tête réelle (mais une fois que vous y êtes, il est facile de voir ce que vous devez faire).
Vous pouvez même faire une page d'affichage de cette même vue pour afficher toutes vos grandes images d'en-tête à la fois sur une page (/ headerpics), avec un lien d'édition par chaque pour faciliter la gestion.
Cela fonctionnera si vous voulez juste des images saisonnières. C'est un formulaire simple pour les utilisateurs non techniques pour télécharger et recadrer des images. Le seul besoin d'administration est la saison occasionnelle (montrer quand) changements dans le filtre de vue.
C'est en fait ce que j'ai fini par faire. – coderama