Картинки в результатах поиска

InstantCMS 2.X

Как изменить размер картинок?

#1 6 октября 2020 в 20:59
Здравствуйте Уважаемые! На страницах с результатами поиска показываются миниатюры картинок размером 64х64. Можно каким -то образом изменить их на более большой размер? CMS 2.13.0
#2 6 октября 2020 в 23:31
Попробуйте здесь: templates\default\controllers\search\index.tpl.php заменить код:
  1.  
  2. <?php if(!empty($item['image'])){ ?>
  3. <div class="field search_field_image"><?php echo $item['image']; ?></div>
  4. <?php } ?>
  5.  
на такой:
  1.  
  2. <?php if(!empty($item['photo'])){ ?>
  3. <?php
  4. $core_model = new cmsModel;
  5. $photos = $core_model->yamlToArray($item['photo']);
  6. $st_title = strip_tags($item['title']);
  7. ?>
  8. <div class="field search_field_image">
  9. <?php echo html_image($photos, 'normal', $st_title); ?>
  10. </div>
  11. <?php } ?>
  12.  
'photo' — системное имя нужного поля с картинкой (если в разных ТК поля имеют разные имена, придётся немного усложнить )
'normal' — нужный пресет (тут тоже могут быть осложнения laugh)
#3 6 октября 2020 в 23:51
Олег Васильевич я, зачем так усложнять?
1. вместо
  1. $core_model = new cmsModel;
  2. $photos = $core_model->yamlToArray($item['photo']);
лучше использовать статический метод
  1. cmsModel::yamlToArray($item['photo']);
2. Код из п.1 вообще не нужен, поскольку функция html_image() принимает как массив так и YAML

В итоге получается что не нужно ничего мудрить:
  1. <?php if(!empty($item['image'])){ ?>
  2. <div class="field search_field_image">
  3. <?php html_image($item['photo'], 'normal', $item['title']); ?>
  4. </div>
  5. <?php } ?>
#4 7 октября 2020 в 07:40
Спасибо всем! код от Олега Васильевича помог, теперь картинки в размере "normal"
код от dwd к сожалению не сработал, если делать такую замену, то картинки совсем не показываются.
#5 7 октября 2020 в 08:53
Еще просьба, если не затруднит: помогите с размером картинок в списке "плитка", в стандартном виде картинки обрезаны и часть картинок скрыта, а мне нужно чтобы картинки показывались полностью (width:100%; height: auto;). Самостоятельно ковырял css не получилось.
#6 7 октября 2020 в 10:48
jeeper, прошу простить и понять))
На коленке писал, в строке
  1. <?php html_image($item['photo'], 'normal', $item['title']); ?>
пропущен оператор echo потому и не выводится картинка. Вот так должно быть
  1. <?php if(!empty($item['image'])){ ?>
  2. <div class="field search_field_image">
  3. <?php echo html_image($item['photo'], 'normal', $item['title']); ?>
  4. </div>
  5. <?php } ?>
#7 7 октября 2020 в 11:08

поскольку функция html_image() принимает как массив так и YAML

dwd
Спасибо, не знал cry
p.s. $item['title'] от тегов таки надо почистить (там подсветка совпадения присутствует — <em>)
#8 20 февраля 2021 в 08:02
А кто подскажет, как вывести картинку из набора изображений? Выводит только одиночное изображение.
#10 21 февраля 2021 в 16:22
@kolecha, в коде компонента тип контента жестко задано, что картинку искать в поле типа image, т.е. одиночная картинка github.com/instantsoft/icms2/blob/b62f9f95a67019d5ab6dee9c9edc558cb7bf0a70/system/controllers/content/hooks/fulltext_search.php#L55
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.