Это было простое, но эффективное решение с использованием cck и views:
Создайте тип контента «фото заголовка». Добавьте поля для изображений, URL и списка выбора «когда показывать».
Изображения Я использовал загрузку изображений с помощью модуля обрезки, ограниченный шириной 400px и высотой 100px для размещения в блоке заголовка.
«покажи» выберите список, в котором я заполнил лето, зиму, осень, Хэллоуин, Рождество, День ветеранов и т. Д.
URL является необязательным.
В поле зрения выберите по типу = header_pic и show_when = все, что вы хотите отобразить сейчас, предел = 1.
Нужно аддон модуля PHP Customfield для представлений и добавить:
<?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'] . '" />';
}
?>
Где поля, которые я отметил, соотносятся с вашими фактическими полями.
Для этого нужно обернуть изображение этим полем url, только если поле url заполнено.
Затем установите представление в отображении блока и установите этот блок в области заголовка. В зависимости от темы, вам может понадобиться немного взломать page.tpl.php, чтобы переместить эту область блока заголовка в область реального заголовка (но как только вы туда попадете, легко увидеть, что вам нужно сделать).
Вы можете даже сделать просмотр страницы этого же представления, чтобы одновременно отображать все ваши великолепные изображения заголовков на странице (/ headerpics) со ссылкой на редактирование каждой из них для удобства управления.
Это будет работать, если вы просто хотите сезонные изображения. Это простая форма для нетехнических пользователей для загрузки и обрезки изображений. Единственная потребность администратора - случайные изменения сезона (показывать когда) в фильтре представления.