Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   автоизменение размера изображений. (http://forum.typo3.ru/showthread.php?t=1504)

void 13.06.2006 15:19

Работающий код
PHP код:

foreach ($section_row as $row)
            {
                
$img_conf = array ('file' => 'uploads/tx_sunautomation/'.$row['image'],
                        
'file.' => array (
                            
'maxW' => 100,
                            
'maxH' => 100)
                            );
                
$img $this->cObj->IMAGE($img_conf);            
                
$replace_array = array(
                    
'###RECORD_TITLE###' => $row['title'],
                    
'###RECORD_IMG###' => $img,
                    
'###RECORD_DESCRIPTION###' => $row['description'],
                    
'###RECORD_LINK###' => $this->pi_getPageLink($row['dbmount'])
                    );
                
$block_content.=$this->cObj->substituteMarkerArray($sun_school_block,$replace_array);
            } 

IMAGE - это метод, которая возвращает нужный вам тэг <img> со всеми параметрами.
Причем если картинку нужно как-то изменить, это будет произведено и src будет уже на измененную картинку.

Uznick 13.06.2006 16:23

Спасибо.

Теперь картинка выводится, но неизменённого размера :)

Код:

foreach ($clientlist as $client) {
  $img_conf = array ('file' => 'uploads/tx_portfoliotables/'.$client['image'],
                            'file.' => array (
                            'maxW' => 50,
                            'maxH' => 50
                            )
                            );                           
print $img = $this->cObj->IMAGE($img_conf);           
}

В результате имею <img src="uploads/tx_portfoliotables/image.jpg" width="100" height="100" border="0" alt="" title="" />

void 14.06.2006 01:52

ищите баг... все должно работать) и почему в коде 50, а в хтмл 100?

Uznick 14.06.2006 02:03

Вот в том-то и весь фикус, что непонятно :)

Такое впечатление, что на строчки 'maxW' => 50,'maxH' => 50, движок не обращает внимания, и выдаёт жпеги без преобразований. Потому что исходные картинки как раз 100x100 и есть.

Uznick 16.06.2006 22:23

А при этом случаем не нужно в TSConfig экстеншна описать что image = IMAGE и так далее? Ну или что-нибудь в этом роде?

Я в видеоуроке под названием fepi_05_rendering_the_image подсмотрел. Автор в основном классе описал

Код:

$imgTSConfig = $this->conf['coverImageCObject'];
$imgTSConfig['file'] = 'uploads/tx_usercdcollection/'.$imagetitle;
return $this->cObj->IMAGE($imgTSConfig);

А в файле ext_typoscript_setup.txt описал

Код:

plugin.user_cdcollection_pi1 {

coverImageCObject = IMAGE
coverImageCObject.file.width = 100
}

и у него всё заресайзилось.
правда как создать через кикстартер этот файл я не нашёл..

Видеоурок, кстати, делался для typo3 3.5.0, может с тех времён что-нибудь изменилось.

Dutchak Vitaly 17.06.2006 00:59

Цитата:

Сообщение от Uznick
А при этом случаем не нужно в TSConfig экстеншна описать что image = IMAGE и так далее? Ну или что-нибудь в этом роде?

Я в видеоуроке под названием fepi_05_rendering_the_image подсмотрел. Автор в основном классе описал

Код:

$imgTSConfig = $this->conf['coverImageCObject'];
$imgTSConfig['file'] = 'uploads/tx_usercdcollection/'.$imagetitle;
return $this->cObj->IMAGE($imgTSConfig);

А в файле ext_typoscript_setup.txt описал

Код:

plugin.user_cdcollection_pi1 {

coverImageCObject = IMAGE
coverImageCObject.file.width = 100
}

и у него всё заресайзилось.
правда как создать через кикстартер этот файл я не нашёл..

Видеоурок, кстати, делался для typo3 3.5.0, может с тех времён что-нибудь изменилось.


Этот TS код, который вы привели передается в экстеншн в виде распасенного масива. Выше просто используется уже готовый такой массив, сделанный своими руками.

Uznick 17.06.2006 01:36

понял, спасибо.


тогда я совсем не понимаю, почему у меня не меняется размер картинок :(

Dutchak Vitaly 17.06.2006 03:12

Цитата:

Сообщение от Uznick
понял, спасибо.


тогда я совсем не понимаю, почему у меня не меняется размер картинок :(

проверьте что вам приходит в вашу перменную. при выполнении такого кода:
PHP код:

$img_conf = array ('file' => 'путь к какому-либо изображению',
                             
'file.' => array (
                             
'maxW' => 150,
                             
'maxH' => 350
                             
)
                            );                             
$img $this->cObj->IMAGE($img_conf); 

и напищите код, и что приходит в $img.

Uznick 17.06.2006 05:09

print_r ($img_conf);

Код:

Array
(
    [file] => fileadmin/templates/images/a_018.jpg
    [file.] => Array
        (
            [maxW] => 150
            [maxH] => 350
        )

)

print $img
Код:

<img src="fileadmin/templates/images/a_018.jpg" width="100" height="100" border="0" alt="" title="" />

Pavel Antonov 18.06.2006 14:49

Цитата:

Сообщение от Uznick
print_r ($img_conf);

Код:

Array
(
    [file] => fileadmin/templates/images/a_018.jpg
    [file.] => Array
        (
            [maxW] => 150
            [maxH] => 350
        )

)

print $img
Код:

<img src="fileadmin/templates/images/a_018.jpg" width="100" height="100" border="0" alt="" title="" />

Сдается мне.. что размер оригинальной картинки и есть 100х100...


Часовой пояс GMT +4, время: 03:54.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot