Обрезание картинки новости по ширине и высоте в K2

  • 9 Ответов
  • 686 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

AlucarD

  • ***
  • 82
  • 1
Добрый день друзья, помогите сделать картинкам новостей фиксированный размер по ширине и высоте. На форуме уже было подобное обсуждение, но тема очень стара и способы которые там описываются не работают на текущей версии K2.

*

jurassik

  • *****
  • 666
  • 49
работают, в к2 ничего нового давно нет
сам шучу - сам смеюсь

*

AlucarD

  • ***
  • 82
  • 1
Можно пруф

Новости выводятся я так понимаю в виде блога.
Вообще идея такая в шаблоне вывода задаем ширину изображения вручную а высоту автоматом.
Заключаем этот блок в <div style="height:высота;overflow:hidden;wilth:ширина изображения"></div>
по ширине будет тогда всегда один размер а по высоте если картинка  выходит за рамки будет ее просто обрезать.

*

AlucarD

  • ***
  • 82
  • 1
А можно подробнее, как, где и что делать)? в коде не силен

category_item.php

у вас там что то такое

Код
 
<?php if($this->item->params->get('catItemImage') && !empty($this->item->image)): ?>
 <!-- Item Image -->
 <div class="catItemImageBlock">
 <span class="catItemImage">
   <a href="<?php echo $this->item->link; ?>" title="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>">
    <img src="<?php echo $this->item->image; ?>" alt="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>" style="width:<?php echo $this->item->imageWidth; ?>px; height:auto;" />
   </a>
 </span>
 <div class="clr"></div>
 </div>
 <?php endif; ?>

А нужно исправить как то так

Код
 <?php if($this->item->params->get('catItemImage') && !empty($this->item->image)): ?>
 <!-- Item Image -->
 <div class="catItemImageBlock" style="overflow:hidden;height:100px;width:150px;">
 <span class="catItemImage">
   <a href="<?php echo $this->item->link; ?>" title="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>">
    <img src="<?php echo $this->item->image; ?>" alt="<?php if(!empty($this->item->image_caption)) echo K2HelperUtilities::cleanHtml($this->item->image_caption); else echo K2HelperUtilities::cleanHtml($this->item->title); ?>" style="width:100px; height:auto;" />
   </a>
 </span>
 <div class="clr"></div>
 </div>
 <?php endif; ?>

 <?php if($this->item->params->get('catItemIntroText')): ?>
 <!-- Item introtext -->
 <div class="catItemIntroText">
  <?php echo $this->item->introtext; ?>
 </div>
 <?php endif; ?>

Но такой вариант в любом случаи равняет ширину но если высота изображения после того как растянет на всю ширину будет меньше 100px то по высоте его не растянет. По сути нужно будет просто подбирать картинки пропорциональные. и нужно подобрать высоту и ширину я тут указал просто для примера 100 на 150.

*

AlucarD

  • ***
  • 82
  • 1
попробовал, не подходит данный способ. Нужно именно чтобы картинка резалась под конкретную высоту и ширину либо если картинка маленькая должна растягиваться под заданный размер, нужно как у сайта сделать http://www.cascadeprogaming.com/

*

AlucarD

  • ***
  • 82
  • 1
нашел вот этот способ http://szenprogs.ru/blog/obrezka_kartinok_bez_izmenenija_proporcij_na_css/2012-12-28-148
помогите реализовать его в к2

Ну это почти тот же вариант  только в нем обрезает и сверху и снизу.

<div class="catItemImageBlock" style="overflow:hidden;height:100px;width:150px;">

в этом блоке задаем ширину и высоту а блок с изображением не меняем.