LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
22.05.2013, 03:07:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Обрезание изображений по ширине и высоте в k2  (Прочитано 2641 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« : 29.04.2012, 21:23:49 »

Добрый вечер! если была такая тема, прошу прощения)

Информационный портал (Joomla и к2 последнии версии)

В категории есть две подкатегории (фото и видео), созданы 3 тега (общество, бизнес, все,).

Как сделать чтоб в категории "фото" при нажатии на тег "общество" - открывались материалы только из категории фото.

буду благодрана за решение!

С тегами я вроде бы разобралась))

Появились другие вопросы, пожалуйста кто сталкивался..подскажите, что сделать:

1. Шаблон вывода материлов по тегу...что нужно прописать чтоб выводилось название категории не к каждому материалу, а как заголовок
2. Создаю пунк меню - категории к2 - выюираю нужную категорию, перехожу по меню а заголовка нет. Если перейти из родительской категории с сайта (не через меню) - то есть.
3. Какие модули вывода новостей или материала к2 - обновляются при обновлении страницы??

Спасибо!!
« Последнее редактирование: 17.05.2012, 10:46:45 от staticlight » Записан
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« Ответ #1 : 03.05.2012, 21:04:16 »

еще вопрос:

Что отвечает за создание превью материалов, я задала ширину и высоту превью, и теперь картинка как бы сжата в рамки и изображение не четкое...что и куда нужно дописать, чтобы превью не сжимались..а обрезались по заданной ширине и высоте!

Спасибо!
Записан
maccamset
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 80


« Ответ #2 : 04.05.2012, 11:01:40 »

Здравствуйте! Превью это "резмер изображения для (основных|первичных|вторичных..) материалов"   настраивается в категории в "Шаблоне материалов категории", т.е. нужно выбрать большое|среднее|малелькое|очень маленькое. А ширина этих понятий (большое|среднее|малелькое|очень маленькое) задается в к2->параметры->вкладка изображение. Когда к2 грузит картинку, то делает несколько тумб разного размера, все в jpg кстати. Для материалов задается свой размер в "опции отображения материала".
Записан
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« Ответ #3 : 04.05.2012, 11:16:45 »

спасибо за ответ))

но мне нужно - функция или код - которым он сжимает изображение под эти размеры! чтоб он не сжимал а резал под заданные размеры.
Записан
SDKiller
Moderator
*****

Репутация: +273/-4
Offline Offline

Сообщений: 2525


...но войти в неё ты должен сам


« Ответ #4 : 04.05.2012, 13:19:12 »

но мне нужно - функция или код - которым он сжимает изображение под эти размеры! чтоб он не сжимал а резал под заданные размеры.

Обработка изображений происходит в функции save() модели
administrator\components\com_k2\models\item.php

Для обработки используется класс upload стороннего разработчика
administrator\components\com_k2\lib\class.upload.php

В модели задаётся параметр $handle->image_resize = true;

Посмотрите другие параметры в классе upload - навскидку есть например параметр image_ratio_crop

Цитировать
     * Set this variable to keep the original size ratio to fit within {@link image_x} x {@link image_y}
     *
     * The image will be resized as to fill the whole space, and excedent will be cropped
     *
     * Value can also be a string, one or more character from 'TBLR' (top, bottom, left and right)
     * If set as a string, it determines which side of the image is kept while cropping.
     * By default, the part of the image kept is in the center, i.e. it crops equally on both sides

Записан
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« Ответ #5 : 16.05.2012, 12:41:12 »

Добрый день еще раз!

вроде бы прописала нужный параметр:
Код:
//XLarge image
    $handle->image_resize = false;
$handle->image_ratio_crop = true;
$handle->image_ratio_y = false;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = $params->get('imagesQuality');
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $filename.'_XL';
if (JRequest::getInt('itemImageXL')) {
$imageWidth = JRequest::getInt('itemImageXL');
} else {
$imageWidth = $params->get('itemImageXL', '800');
}
$handle->image_x = $imageWidth;
$handle->Process($savepath);

а все равно сжимает
Записан
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« Ответ #6 : 16.05.2012, 19:44:23 »

решение с обрезанием изображений!

http://devul.ru/archives/985

Код:
Обрезаем изображение k2

Что бы делать кроп фото( обрезать картинку по высоте и ширине) в K2

Открываем: administrator\components\com_k2\models\item.php

Ищем “//Small image”

Следующий код заменяем:

//Small image
 $handle->image_resize = true;
 $handle->image_ratio_y = true;
 $handle->image_convert = ‘jpg’;
 $handle->jpeg_quality = $params->get(‘imagesQuality’);
 $handle->file_auto_rename = false;
 $handle->file_overwrite = true;
 $handle->file_new_name_body = $filename.’_S’;
 if (JRequest::getInt(‘itemImageS’)) {
 $imageWidth = JRequest::getInt(‘itemImageS’);
 } else {
 $imageWidth = $params->get(‘itemImageS’, ’200′);
 }
 $handle->image_x = $imageWidth;
 $handle->Process($savepath);

на следующий код:

//Small image
 $handle->image_resize = true;
 $handle->image_convert = ‘jpg’;
 $handle->jpeg_quality = $params->get(‘imagesQuality’);
 $handle->file_auto_rename = false;
 $handle->file_overwrite = true;
 $handle->file_new_name_body = $filename.’_S’;
 if (JRequest::getInt(‘itemImageS’)) {
 $imageWidth = JRequest::getInt(‘itemImageS’);
 } else {
 $imageWidth = $params->get(‘itemImageS’, ’200′);
 }
 $handle->image_x = $imageWidth;
 $handle->image_y = $imageWidth;
 $handle->image_ratio_crop = true;
 $handle->Process($savepath);

Радуемся обрезаемым фотам. Это особо необходимо для вывода фото в модулях K2.
 /home/devul2/devul.ru/www/assets/
Записан
staticlight
Moderator
*****

Репутация: +62/-0
Offline Offline

Пол: Мужской
Сообщений: 1097


Staticlight


« Ответ #7 : 17.05.2012, 10:45:34 »

Добавил в FAQ.
Хочется добавить, что данное решение можно было найти, погуглив по запросу "Create Square Thumbnails in K2" по первой ссылке.
Более того, надо добавить, что файл item.php будет перезаписываться при обновлении версии k2. Поэтому нужно делат копию данного файла для замены каждый раз.
« Последнее редактирование: 17.05.2012, 10:57:26 от staticlight » Записан
Faina
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 47



« Ответ #8 : 17.05.2012, 10:59:58 »

СПАСИБО!
Записан
DariMard
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 23



« Ответ #9 : 08.01.2013, 18:29:47 »

Цитировать
Я сделал правильно, но у меня ничего не изменилось.
Версия к2 последняя, Joomla 1.5,
шаблон к2 живет в папке HTML в папке шаблоне сайта, может тут есть косяк?
Дополняю:
Причину неполадки нашел, когда копирую код с форума - у меня на строке $imageWidth = $params->get(‘itemImageS’, ’200′); после 200 вместо второй кавычки почему-то появлялся знак вопроса $imageWidth = $params->get(‘itemImageS’, ’200?); Мелочь, но для чайников большая проблема... Обрезка работает! Спасибо!)))

А вот вопрос с разной шириной и высотой пока в силе, как можно задавать размер например 200х150px?
« Последнее редактирование: 09.01.2013, 16:51:06 от DariMard » Записан
denben777
Осваиваюсь на форуме
***

Репутация: +23/-0
Online Online

Пол: Мужской
Сообщений: 58


« Ответ #10 : 13.02.2013, 03:02:25 »

DariMard
Замените:
Код:
$handle->image_y = $imageWidth;
на
Код:
$handle->image_y = 150;
->Получите изображение 200х150
Записан
devul
Давно я тут
****

Репутация: +19/-1
Offline Offline

Сообщений: 284


если помог можете поставить +


« Ответ #11 : 16.02.2013, 03:06:12 »

решение с обрезанием изображений!

http://devul.ru/archives/985

Код:
Обрезаем изображение k2

Что бы делать кроп фото( обрезать картинку по высоте и ширине) в K2

Открываем: administrator\components\com_k2\models\item.php

Ищем “//Small image”

Следующий код заменяем:

//Small image
 $handle->image_resize = true;
 $handle->image_ratio_y = true;
 $handle->image_convert = ‘jpg’;
 $handle->jpeg_quality = $params->get(‘imagesQuality’);
 $handle->file_auto_rename = false;
 $handle->file_overwrite = true;
 $handle->file_new_name_body = $filename.’_S’;
 if (JRequest::getInt(‘itemImageS’)) {
 $imageWidth = JRequest::getInt(‘itemImageS’);
 } else {
 $imageWidth = $params->get(‘itemImageS’, ’200′);
 }
 $handle->image_x = $imageWidth;
 $handle->Process($savepath);

на следующий код:

//Small image
 $handle->image_resize = true;
 $handle->image_convert = ‘jpg’;
 $handle->jpeg_quality = $params->get(‘imagesQuality’);
 $handle->file_auto_rename = false;
 $handle->file_overwrite = true;
 $handle->file_new_name_body = $filename.’_S’;
 if (JRequest::getInt(‘itemImageS’)) {
 $imageWidth = JRequest::getInt(‘itemImageS’);
 } else {
 $imageWidth = $params->get(‘itemImageS’, ’200′);
 }
 $handle->image_x = $imageWidth;
 $handle->image_y = $imageWidth;
 $handle->image_ratio_crop = true;
 $handle->Process($savepath);

Радуемся обрезаемым фотам. Это особо необходимо для вывода фото в модулях K2.
 /home/devul2/devul.ru/www/assets/
блин приятно то как)) я и не думал что меня цитировать будут на любимом форуме да еще и в FAQ добавлять)))) Жизнь прожита не зря! Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet