Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Проблема с генерацией маленькой картинки

05.04.2012, 14:03
crosone
miraweb

Зарегистрирован:
2011-12-19
Сообщений: 1

Сделал все как в вашем уроке
http://netcat.ru/support/obucheniye-razrabotchikov-cms-netcat/uroki-po-rabote-cms-netcat/learn_21.html#top_header

Шаблон добавления (Действие после добавления объекта):
Код:

";
# Обрезка основной фотографии
if ($_FILES['f_Picture'][size] != 0 ) {
require_once($INCLUDE_FOLDER."classes/nc_imagetransform.class.php");
$photo_path = $DOCUMENT_ROOT.nc_file_path($classID, $message,'Picture', "");
if ( $photo_path) {
nc_ImageTransform::imgResize($photo_path,$photo_path,'600','600', 0, 'jpg', 90, $message, 'Picture');
nc_ImageTransform::createThumb('Picture','SmallPicture',150,100);
}

if($inside_admin) {
ob_end_clean();
header("Location: ".$goBackLink."&inside_admin=1");
exit;
}
else {
echo $IsChecked ? NETCAT_MODERATION_MSG_OBJADD : NETCAT_MODERATION_MSG_OBJADDMOD;
echo "<br /><br />".$goBack;
}
echo "


Шаблон редактирования (Действие после изменения объекта):

Код:

";
# Обрезка основной фотографии
if ($_FILES['f_Picture'][size] != 0 ) {
require_once($INCLUDE_FOLDER."classes/nc_imagetransform.class.php");
$photo_path = $DOCUMENT_ROOT.nc_file_path($classID, $message,'Picture', "");
if ( $photo_path) {
nc_ImageTransform::imgResize($photo_path,$photo_path,'600','600', 0, 'jpg', 90, $message, 'Picture');
nc_ImageTransform::createThumb('Picture','SmallPicture',150,100);
}

if($inside_admin) {
ob_end_clean();
header("Location: ".$goBackLink."&inside_admin=1");
exit;
}
else {
echo NETCAT_MODERATION_MSG_OBJCHANGED;
echo "<br /><br />".$goBack;
}
echo "



Поля:
Picture - фаил, стандартный: 100000:image/*
SmallPicture - фаил, стандартный: 100000:image/*

Но при этом большая картинка сохраняется оригинального размера, а маленькая даже не генерируется, в шаблоне компонента я вывожу $f_Picture и $f_SmallPicture

Подскажите пожалуйста, в чем может быть проблема?
12.04.2012, 23:45
Слапиньш Павел Викторович
Слапиньш Павел

Зарегистрирован:
2011-12-06
Сообщений: 52

Вот так вот я генерирую 8 картинок:

$fval - поле исходной картинки с приставкой _f
$lval - поле исходной картинки
$sval - поле генерируемой картинки

Пользовательские настройки:
$cc_settings['ImgQuality'] - качество картинки
$cc_settings['ImgWidth'] - Ширина превью-картинок (в пикселях)
$cc_settings['ImgHeight'] - Высота превью-картинок (в пикселях)

Все поля LargeImg1 - LargeImg8 и SmallImg1 - SmallImg8 должны быть созданы.

Действие после добавления/изменения объекта:
Код:
";
require_once($INCLUDE_FOLDER."classes/nc_imagetransform.class.php");
for($n=1;$n<=8;$n++){
$fval = "f_LargeImg".$n;
$lval = "LargeImg".$n;
$sval = "SmallImg".$n;
if ($_FILES[$fval][size]!=0 && $_FILES[$fval][type]!='') {
$photo_path = $DOCUMENT_ROOT.nc_file_path($classID, $message,$lval, "");
if ( $photo_path) {
nc_ImageTransform::createThumb($lval,$sval,$cc_settings['ImgWidth'],$cc_settings['ImgHeight'],1,NULL,$cc_settings['ImgQuality']);
}
}
}
ob_end_clean();
header("Location: $goBackLink&inside_admin=$inside_admin");
echo"


У меня так работает. Может быть обратите внимание на параметры createThumb. И ImgResize я не использую.
14.04.2012, 18:35
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Впишите названия полей вместо BIGimage и Smallimage и все у вас будет работать.
";
if ($_FILES[f_BIGimage][size]!=0 && $_FILES[f_BIGimage][type]!='')
{
global $nc_core;
require_once($nc_core->INCLUDE_FOLDER."classes/nc_imagetransform.class.php");
nc_ImageTransform::createThumb('BIGimage','Smallimage',150,100);
$photo_path = $DOCUMENT_ROOT.nc_file_path($classID, $message, 'image', "");
if ($photo_path) nc_ImageTransform::imgResize($photo_path,$photo_path,600,600);
}

### default
if($inside_admin) {
ob_end_clean();
header("Location: ".$goBackLink."&inside_admin=1");
exit;
}
else {
echo NETCAT_MODERATION_MSG_OBJADD;
echo "<br><br>".$goBack;
}
echo "

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
05.06.2014, 07:40
iteshnik
Тронза Евгений

Зарегистрирован:
2007-07-06
Сообщений: 25

такое ощущение что $_FILES['f_Picture'][size] возвращает 0
Как проверить?

iteshnik
05.06.2014, 13:32
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Было такое, оказалось, что нужно вписывать ВСЕ параметры, даже необязательные, т.е. должно быть так:
Код:
nc_ImageTransform::createThumb('Picture','SmallPicture',150,100,1,NULL,90);


Stark
06.06.2014, 12:39
iteshnik
Тронза Евгений

Зарегистрирован:
2007-07-06
Сообщений: 25

Цитата:
Было такое, оказалось, что нужно вписывать ВСЕ параметры, даже необязательные, т.е. должно быть так:
Код:
nc_ImageTransform::createThumb('Picture','SmallPicture',150,100,1,NULL,90);

Не помогло.
Перепроверил и Ресайз.
Ощущение, что в функцию не заходит.
$_FILES['f_Picture'][size] возвращает пустое значение(мне так кажется)
ибо попытался вывести его, и пусто
Как можно проверить ещё?

iteshnik
06.06.2014, 12:49
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Давайте попробуем решить вашу проблему по скайпу и тимвиверу?

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
06.06.2014, 14:46
iteshnik
Тронза Евгений

Зарегистрирован:
2007-07-06
Сообщений: 25

скайп iteshnik

iteshnik
07.06.2014, 14:15
iteshnik
Тронза Евгений

Зарегистрирован:
2007-07-06
Сообщений: 25

Краткое описание решения проблемы:
Работал не стем шаблоном компонента в режиме администрирования.

iteshnik
198 196 2014-06-07 14:15:32 12014
Описание проекта