Как организовать автоматический вывод изображения-заглушки для каждой категории при сохранении статьи если отсутствует основное изображение?
Наверно многие сталкивались с ситуацией когда есть статья, но нет к ней изображения. та же ситуация при парсинге статей без изображений!
В результате список получает дырку вместо изображения, что достаточно не красиво.
Вот для таких случаев необходимо вставлять какую то картинку-заглушку и лучше всего, чтобы для каждой категории была своя заглушка.
добавьте перед кодом
<div class="photo"> <?php if ($is_private) { ?> <?php echo html_image(default_images('private', $size), $size, $item['title']); ?> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"> <?php echo html_image($item['photo'], $size, $item['title']); ?> </a> <?php } ?> </div> <?php } ?>
'micro' => 'path/to/micro-picture.jpg', 'small' => 'path/to/small-picture.jpg', 'normal' => 'path/to/normal-picture.jpg', 'big' => 'path/to/big-picture.jpg' ); } ?>
А так список получает "мусорную" картинку, что достаточно не информативно! Если изображение не несет в себе полезную информацию (как например с заглушкой) то его не должно быть! А красота настраивается через CSS. И да, красота это когда нет ничего лишнего 😉В результате список получает дырку вместо изображения, что достаточно не красиво.
Категорически с вами согласен! Поэтому изображение-заглушка должны быть достаточно информативны, а не блеклая картинка и быть достаточно редкими.Если изображение не несет в себе полезную информацию (как например с заглушкой) то его не должно быть!
В вашем примере не понял как изображения-заглушки распределяются по категориям! Судя по коду это просто заглушка для всего Типа контента. Или я ошибаюсь?
Да для всего типа контента. Для разделения по категориям можно добавить доп.условие:В вашем примере не понял как изображения-заглушки распределяются по категориям! Судя по коду это просто заглушка для всего Типа контента.
if ($item['category_id']==1) { 'micro' => 'path/to/micro-picture-4-category_1.jpg', 'small' => 'path/to/small-picture-4-category_1.jpg', 'normal' => 'path/to/normal-picture-4-category_1.jpg', 'big' => 'path/to/big-picture-4-category_1.jpg' ); } elseif ($item['category_id']==2) { 'micro' => 'path/to/micro-picture-4-category_2.jpg', 'small' => 'path/to/small-picture-4-category_2.jpg', 'normal' => 'path/to/normal-picture-4-category_2.jpg', 'big' => 'path/to/big-picture-4-category_2.jpg' ); } elseif ($item['category_id']==3) { // ... } else { 'micro' => 'path/to/micro-picture.jpg', 'small' => 'path/to/small-picture.jpg', 'normal' => 'path/to/normal-picture.jpg', 'big' => 'path/to/big-picture.jpg' ); } } ?>
'micro' => 'path/to/micro-picture-' . $item['category_id'] . '.jpg', 'small' => 'path/to/small-picture-' . $item['category_id'] . '.jpg', 'normal' => 'path/to/normal-picture-' . $item['category_id'] . '.jpg', 'big' => "path/to/big-picture-{$item['category_id']}.jpg" // другой вариант записи =) );
Интересно как вы это представляете?!Поэтому изображение-заглушка должны быть достаточно информативны
Ну что вы! Я же не суперкомпьютер Только с десяток категорий.Но если у вас 100500 категорий, то код будет выглядеть страшно Можно, как вариант id категории засунуть в название картинки и уже так ее выбирать:
Код действительно становится все страшнее… Но все равно Спасибо!
Если поделитесь как это сделать, с удовольствием воспользуюсь более простым и гениальным вариантом.ИМХО: полями проще и удобнее