Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Вопрос об автоматическом CropScale для картинок, добавленных как Page Content (TV) (http://forum.typo3.ru/showthread.php?t=10556)

cyclone125 15.01.2013 17:04

Вопрос об автоматическом CropScale для картинок, добавленных как Page Content (TV)
 
Добрый день!
У меня есть следующий вопрос. Сделан шаблон сайта с помощью TemplaVoila. На страницу добавляется несколько картинок в бэкенде как New Content Element - Images Only. На вкладке Appearance можно задавать размер, до которого изменяются картинки. Задано уменьшение, допустим, до 50 на 50 px. Установлен плагин PerfectLightbox. По клику на уменьшенную картинку открывается большая в лайтбоксе.
Мне нужно, чтобы эти картинки были не просто уменьшены, а обрезаны до нужного размера (например, если картинка имеет размер 300 на 600, или 600 на 300, нужно уменьшить её по меньшей стороне до 50 px, а по большей обрезать чтобы тоже было 50 px, чтобы картинка в итоге была 50 на 50, но при этом не была деформирована, как если бы просто уменьшать до 50 на 50). При клике в лайтбоксе должна открываться оригинальная картинка 300 на 600.
Второй день ищу решение, но пока найти так и не смог.
Нашёл, что можно в TemplaVoila в Element - Data Processing - TypoScript Code писать typoscript обработки контента. Если бы это поле было просто Image, то можно было бы написать что-что вроде
10 = IMAGE
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.width = 50с-50
10.file.height = 50c-50

Но у меня в этом поле RECORDS.
10= RECORDS
10.source.current=1
10.tables = tt_content

Не знаю, как сделать в этом случае.
У меня картинок несколько добавляется в один Content Element. К тому же, судя по всему, так в лайтбоксе картинка тоже будет маленькая и обрезаная.

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

dmartynenko 15.01.2013 19:22

Получается у вас сейчас для вывода картинок используется стандартный TS объект tt_content.image.20, а ширина-высота беруться из свойств заданных в CE. А там действительно кроп никак не задашь.

Но можно переопределить свойства в tt_content.image.20 (смотрите typo3\sysext\css_styled_content\static\setup.txt)

То есть вместо:
Код:

        maxW = {$styles.content.imgtext.maxW}
        maxW.override.data = register:maxImageWidth
        maxWInText = {$styles.content.imgtext.maxWInText}
        maxWInText.override.data = register:maxImageWidthInText

        equalH.field = imageheight

прописать фиксированные width = 50с и height = 50c.

Но эти изменения будут глобальны для этой страницы и всех дочерних. Так что все CE с картинками будут выводиться как кропнутые до 50x50.

Valery Romanchev 16.01.2013 13:31

есть экстеншены на эту тему, может какой-то подойдет
http://typo3.org/extensions/reposito...=23&L=0&q=crop

tkcropthumbs

dmartynenko 16.01.2013 13:51

Кстати, странно что решение такой простой и типовой задачи, до сих пор не встроена в ядро. А все пагины для ее реализации используют довольно сложный PHP код, вплоть до расширения базовых классов ядра.

Вот, например, болле сложная задача по добавлению "водяных знаков" на картинки решена в df_imgwatermark на чистом TS.

cyclone125 16.01.2013 15:58

Цитата:

Сообщение от Valery Romanchev (Сообщение 35410)
есть экстеншены на эту тему, может какой-то подойдет
http://typo3.org/extensions/reposito...=23&L=0&q=crop

Спасибо огромное, вот этот экстеншн делает как раз то, что мне и нужно было:
cropping for tt_content images - http://typo3.org/extensions/repository/view/image_crop

http://typo3.org/typo3temp/tx_terdoc...CE4E661E9B.png

Правда, все элементы контента с картинками пришлось ручками править, а их было ох как много...
Но всё же задача решена.
Кстати, я искал сам экстеншены, но почему-то этот найти так и не смог. Спасибо огромное за помощь, этот форум - действительно полезный ресурс.


Цитата:

Сообщение от dmartynenko (Сообщение 35411)
Кстати, странно что решение такой простой и типовой задачи, до сих пор не встроена в ядро. А все пагины для ее реализации используют довольно сложный PHP код, вплоть до расширения базовых классов ядра.

Вот, например, болле сложная задача по добавлению "водяных знаков" на картинки решена в df_imgwatermark на чистом TS.

Да, меня это тоже сильно удивило - действительно типовая задача. Может быть, стоит написать разработчикам и предложить этот экстеншн встраивать в дистрибутив?

dmartynenko 16.01.2013 16:08

Цитата:

Сообщение от cyclone125 (Сообщение 35412)
Да, меня это тоже сильно удивило - действительно типовая задача. Может быть, стоит написать разработчикам и предложить этот экстеншн встраивать в дистрибутив?

Боюсь у них там более "важные" задачи есть. Типа TYPO3 NEOS.
Им не до нужд простых пользователей. :rolleyes:


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

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