Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Кто подскажет,где править код,для того чтобы превью-фото объявлений получались строго квадратными,а не прямоугольными как в стандартной версии? а то все фото идут разными размерами :D
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #1 : 15.09.2009, 09:12:26 »
Как сделать их строго квадратными не подскажу.
Вот код куда надо копать:

adsmanager.php
1. Вызывается аплоад и препарирование имиджев в функции save_ad
смотрим ниже:
Код
		// image1 upload
if (isset( $_FILES["ad_picture$i"]) and !$_FILES["ad_picture$i"]['error'] ) {
createImageAndThumb($_FILES["ad_picture$i"]['tmp_name'],$row->id.$ext_name.".jpg",$row->id.$ext_name."_t.jpg",

Соот-но нам нужна функция createImageAndThumb того же файла.
Исходя из кода нужно причесать код данной функции
Код
	// height/width
$imginfo = getimagesize($src_file);
$src_w = $imginfo[0];
$src_h = $imginfo[1];

$zoom_h = $max_h / $src_h;
    $zoom_w = $max_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;

$zoom_h = $max_thumb_h / $src_h;
    $zoom_w = $max_thumb_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_thumb_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_thumb_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;

$dst_img = imagecreatetruecolor($dst_w,$dst_h);

$white = imagecolorallocate($dst_img,255,255,255);
imagefill($dst_img,0,0,$white);
imagecopyresampled($dst_img,$src_img, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h);

Пример генерации можно найти сгуглив php resize thumb

*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #2 : 15.09.2009, 09:44:34 »
я советую пойти немножко дальше!
править функцию createImageAndThumb в файле adsmanager.php, используя сложное масштабирование в PHP http://www.codenet.ru/webmast/php/Image-Resize-GD/

Алгоритм работы изменённой функции createImageAndThumb описывать не буду, кто захочет сам разберется!
Привожу её код целиком:
Код
function createImageAndThumb($src_file,$image_name,$thumb_name,
$max_width,
    $max_height,
$max_width_t,
$max_height_t,
$tag,
$path,
$orig_name)
{
global $mosConfig_absolute_path;

$types = array(
        IMAGETYPE_JPEG => 'jpeg',
        IMAGETYPE_GIF => 'gif',
        IMAGETYPE_PNG => 'png'
    );

    ini_set('memory_limit', '32M');


$src_file = urldecode($src_file);
$orig_name = strtolower($orig_name);
$findme  = '.jpg';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.jpeg';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.gif';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.png';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
return;
}
else
{
$type = "png";
}
}
else
{
$type = "gif";
}
}
else
{
$type = "jpeg";
}
}
else
{
$type = "jpeg";
}


$max_h = $max_height;
$max_w = $max_width;
$max_thumb_h = $max_height_t;
$max_thumb_w = $max_width_t;

if ( file_exists( "$path/$image_name")) {
unlink( "$path/$image_name");
}

if ( file_exists( "$path/$thumb_name")) {
unlink( "$path/$thumb_name");
}

$read = 'imagecreatefrom' . $type;
$write = 'image' . $type;

$src_img = $read($src_file);

$imginfo = getimagesize($src_file);
$src_w = $imginfo[0];
$src_h = $imginfo[1];

$zoom_h = $max_h / $src_h;
    $zoom_w = $max_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;

$zoom_h = $max_thumb_h / $src_h;
    $zoom_w = $max_thumb_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_thumb_h  = $max_thumb_h;
    $dst_thumb_w  = $max_thumb_w;

$dst_img = imagecreatetruecolor($dst_w,$dst_h);

$white = imagecolorallocate($dst_img,255,255,255);
imagefill($dst_img,0,0,$white);
imagecopyresampled($dst_img,$src_img, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h);
$textcolor = imagecolorallocate($dst_img, 255, 255, 255);
if (isset($tag))
imagestring($dst_img, 5, 5, 5, "$tag", $textcolor); 
if($type == 'jpeg'){
        $desc_img = $write($dst_img,"$path/$image_name", 75);
}else{
        $desc_img = $write($dst_img,"$path/$image_name", 2);
}

$dst_t_img = imagecreatetruecolor($dst_thumb_w,$dst_thumb_h);
$white = imagecolorallocate($dst_img,255,255,255);
imagefill($dst_t_img,0,0,$white);

$k_img = round($src_w/$dst_thumb_w);
if (($k_img*$dst_thumb_h) == $src_h) {
imagecopyresampled($dst_t_img, $src_img,
 0, 0,
 0, 0,
 $dst_thumb_w, $dst_thumb_h,
 $src_w, $src_h);
}
if (($k_img*$dst_thumb_h) < $src_h) {
imagecopyresampled($dst_t_img, $src_img,
0, 0,
0, round($src_h/2-($k_img*$dst_thumb_h)/2),
$dst_thumb_w, $dst_thumb_h,
$src_w,  ($k_img*$dst_thumb_h));}

if (($k_img*$dst_thumb_h) > $src_h) {imagecopyresampled($dst_t_img, $src_img,
0, 0,
round($src_w/2-($k_img*$dst_thumb_w)/2), 0,
$dst_thumb_w, $dst_thumb_h,
($k_img*$dst_thumb_w),$src_h ); }

$textcolor = imagecolorallocate($dst_t_img, 255, 255, 255);
if (isset($tag))
imagestring($dst_t_img, 2, 2, 2, "$tag", $textcolor);
if($type == 'jpeg'){
        $desc_img = $write($dst_t_img,"$path/$thumb_name", 75);
}else{
        $desc_img = $write($dst_t_img,"$path/$thumb_name", 2);
}


}

Выставляйте в настройках компонента желаемый размер привью изображения и наслождайтесь:)
« Последнее редактирование: 19.01.2010, 01:24:31 от Kikasso »
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #3 : 15.09.2009, 09:52:52 »
спасибо за отклики!в том то и проблема что в алгоритме я мало чего понимаю ^-^
Kikasso код надо заменить на ваш? или вы просто показали строки где надо править?
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #4 : 15.09.2009, 10:02:39 »
надо заменить код функции createImageAndThumb, на тот - что я привел выше, тогда к превью изображениям будет применено сложное масштабирование, а их размеры будут одинаковы!
« Последнее редактирование: 15.09.2009, 10:05:51 от Kikasso »
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #5 : 15.09.2009, 10:11:17 »
масштабирование произошло,но только с подгонкой т.е превью теперь вытянутые :(
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #6 : 15.09.2009, 18:02:08 »
Странно, у меня всё работает! Разбирайся, что у тебя не так!

Для информации ниже привожу код непосредственно отвечающий за масштабирование.

Код
$k_img = round($src_w/$dst_thumb_w);
if (($k_img*$dst_thumb_h) == $src_h) {
imagecopyresampled($dst_t_img, $src_img,
 0, 0,
 0, 0,
 $dst_thumb_w, $dst_thumb_h,
 $src_w, $src_h);
}
if (($k_img*$dst_thumb_h) < $src_h) {
imagecopyresampled($dst_t_img, $src_img,
0, 0,
0, round($src_h/2-($k_img*$dst_thumb_h)/2),
$dst_thumb_w, $dst_thumb_h,
$src_w,  ($k_img*$dst_thumb_h));}

if (($k_img*$dst_thumb_h) > $src_h) {imagecopyresampled($dst_t_img, $src_img,
0, 0,
round($src_w/2-($k_img*$dst_thumb_w)/2), 0,
$dst_thumb_w, $dst_thumb_h,
($k_img*$dst_thumb_w),$src_h ); }
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #7 : 15.09.2009, 18:09:16 »
получается с некоторыми картинками,а некоторые все равно растянуты или сплющеные получаются
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #8 : 15.09.2009, 18:13:58 »
какие размеры эскиза ты выставляешь?? Попробуй обновить страницу несколько раз - растянутые картинки видимо из кэша браузера, сделанные старой функцией createImageAndThumb или используй только новые (которые ещё не загружал) картинки, должно быть всё ОК :laugh:
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #9 : 15.09.2009, 18:31:09 »
кэш не помогает,размеры задаю 90*90, все-равно тоже самое
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #10 : 15.09.2009, 18:32:20 »
кэш не помогает,размеры задаю 90*90, все-равно тоже самое
превьюшки стали квадратными,но некоторые подгоняютс некоректно
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #11 : 15.09.2009, 18:41:43 »
ты был прав,загрузил новые фотки вроде все пошло как надо yes!
пилюс тебе ;D
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #12 : 06.10.2009, 10:53:25 »
все равно фотки снятые в ширину получаются приплюснутые,а фотки снятые в высоту нормальные,
может как-нибудь обрезку сделать? вопрос как ::)
*

freik

  • Осваиваюсь на форуме
  • 35
  • 2 / 2
« Последнее редактирование: 10.10.2009, 00:49:31 от freik »
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #14 : 06.03.2010, 19:20:43 »
Типа такого! )
*

Night

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #15 : 06.05.2010, 18:22:10 »
надо заменить код функции createImageAndThumb, на тот - что я привел выше, тогда к превью изображениям будет применено сложное масштабирование, а их размеры будут одинаковы!

А как заставить ADSку сохранять превьюшки в другую папку? Я хочу с помощью YooGallery выводить товары на главную, но в папке с полными картинками лежат и превью. Не оч красиво получается.
*

cauua

  • Новичок
  • 3
  • 0 / 0
  • Жизнь европейских тятров
Re: строго квадратные превью-фото в ADS
« Ответ #16 : 13.09.2010, 14:05:10 »
А вот я тоже хочу написать!

Ситуация такая. Код функции я вставил! Все нормально работает. Превьюшки квадратные.
НО один момент!

если оригинал картинки например в высоту - 500, а в ширину 100

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

а вот если ему скормить 500 на 500 то превьюха зачетная...

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


подскажите пожалуйсто!

оченя хочетсо решить данный вопрос!

Спасибо!
*

bolivak

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: строго квадратные превью-фото в ADS
« Ответ #17 : 25.03.2011, 16:52:40 »
Изображения небольшого веса, даже при достаточных размерах (3264х2448) получаются обрезанными идеально, но вот при увеличении веса симметрия нарушается и они растягиваются очень некрасиво! Говорить пользователям, чтобы они уменьшали размер своих фото, как то не очень, имхо, просто отпугнет их. 

Может подскажите, что-то, что будет при загрузке изображений уменьшать их вес?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическое удаление фото объявления после истечения

Автор jimka

Ответов: 3
Просмотров: 1401
Последний ответ 11.11.2016, 17:32:53
от Beer
Некорректное отображение фото в AdsManager в подробном режиме

Автор mikhail+

Ответов: 0
Просмотров: 1163
Последний ответ 27.05.2016, 13:40:19
от mikhail+
Размер загружаемых фото

Автор voras

Ответов: 19
Просмотров: 1393
Последний ответ 09.02.2016, 17:10:14
от voras
AdsManager вертикальные фото загружает горизонтально

Автор tidra21

Ответов: 2
Просмотров: 1464
Последний ответ 11.02.2015, 12:27:23
от tidra21
Не загружаются фото при добавлении объявления

Автор kluchnikov85

Ответов: 2
Просмотров: 1555
Последний ответ 17.12.2014, 22:58:00
от kluchnikov85