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)

Uznick 11.06.2006 21:09

автоизменение размера изображений.
 
Перевожу сайт на typo3. До этого на нём стояла самописная cms, которая работала с изображениями следующим образом: закачивалась картинка, а потом, при выводе её в браузер, с помощью скрипта размеры автоматически изменялись до заданных в шаблоне средствами GD.

Можно ли средствами typo3 либо сохранить такую же структуру, либо ресайзить изображения при их закачке?

Либо придётся, всё-таки изменять их размер вручную?

Valery Romanchev 11.06.2006 23:32

Цитата:

До этого на нём стояла самописная cms, которая работала с изображениями следующим образом: закачивалась картинка, а потом, при выводе её в браузер, с помощью скрипта размеры автоматически изменялись до заданных в шаблоне средствами GD.
TYPO3 тоже ресайзит картинки при первой загрузке страницы посетителем для всех элементов text with image, image, и внутри RTE, причем сохраняет их в typo3temp, а размеры пишет в базу.

Не понятно в чем проблема

Uznick 12.06.2006 01:40

У меня это реализовано в плагине.

В одно из его полей заливается картинка. Абсолютно в таком же виде в каком она была до заливки она пишется в /uploads/

Далее надо вывести её на экран. И при обращении по пути /uploads/имя_файла выводится она же, неизменённого размера.

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

Дополнительного поля, в котором задаются требуемые размеры картинки я не нашёл.

Valery Romanchev 12.06.2006 02:45

что-то я не пойму в чем дело...

есть вагон и маленькая тележка всяких галерей, которые ресайзят изображения - посмотрите как там это сделано (как рендеринг cObject вызывается в PHP)
Если нужно через TS - то можно посмотреть css_styled_content ну и доки конечно.

Uznick 12.06.2006 02:48

доки я смотрел, так ничего путного не нашёл.

а галереи посмотреть почему-то не догадался :)

спасибо, как найду решение -- напишу сюда.

Uznick 12.06.2006 16:56

всё кончилось тем, что написал ещё один скрипт, который уменьшает картинку с помощью Gd и выводит её браузеру.

void 12.06.2006 20:38

хе... вместо того, чтобы чуть почитать доки (TSRef) и/или покопаться в коде)
cObject->IMAGE($conf), где
$conf = array(
"file" = $my_file,
"file." = array(
"maxW" = $my_width,
"maxH" = $my_height
)
);

за код не очень уверен, но что-то похожее.

Uznick 12.06.2006 21:17

К сожалению, я только начинаю разбираться с typo3, поэтому пока не совсем понял что можно сделать через TS и в какую сторону копать в таких ситуациях :(

У меня при вызове $cObject->IMAGE($conf) вылезает Fatal error: Call to a member function on a non-object.

На сколько я понимаю, у меня нет объекта IMAGE. Но как задать его, создавая extension через kickstarter, я не знаю. Да и не только через kickstarter, тоже.

Pavel Antonov 12.06.2006 22:37

в плагин текущий объект типа tslib_cObj передается в переменную cObj.

Вызывать в методах плагина нужно так:
Код:

$this->cObj->IMAGE($conf)

Uznick 13.06.2006 14:49

Наверное я что-то принципиальное не понимаю.

Я создал два экстеншна.

В первом полностью описал таблицы базы.

Во втором уже во фронтенде -- делаю выборку из базы $query=$GLOBALS['TYPO3_DB']->SELECTquery() и так далее.

Из базы я получаю название файла с картинкой.

Далее с этой картинкой произвожу манипуляции по уменьшению.

Я не понимаю, куда можно дописать $this->cObj->IMAGE($conf), т.к. $this->cObj->IMAGE не существует.
У меня нету объекта IMAGE, у меня есть поле из базы с названием картинки.

Нашёл, что-то подобное в экстеншне lz_gallery, но там, как я понял из кода, всё тоже делается вручную через imagemagick.


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

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