Уменьшать изображения с помощью Timthumb путем добавления опечатки в templavoila (обработка данных)

Я хочу иметь два разных размера изображения: один для обычного браузера и один для мобильной версии. Я думал, что смогу использовать timthumb, чтобы изменить размер изображения.

Поэтому я нанес на карту в Templavoila Image field, fixed W+H для <img src="xx" />, Под Data processing Я хочу ввести свой код Typoscript. С этим кодом я хочу иметь другое представление (масштабированное изображение).

10 = IMAGE
10.file.XY = 1328,768
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
10.file.maxW = 2000
10.file.minW = 1000
10.file.maxH = 1000
10.file.minH = 700

[globalVar = TSFE:fe_user|sesData|mobileversion=1]
20 = RECORDS
20.source.current = 1
20.tables = tt_content
20.stdWrap.wrap = <img src="fileadmin/templates/php_scripts/timthumb.php?src=|&w=600" />
20.stdWrap.required = 1*
[global]

Но я всегда получаю картинку с нормальной версии. Я пытался использовать переменную сеанса, и я также пытался использовать пользовательскую функцию. Даже если я уберу это условие, результат всегда будет одинаковым... (общая картина). Что я делаю не так?

3 ответа

TYPO3 может изменять размеры ваших изображений из коробки. Вам не нужен дополнительный скрипт.

Поместите это в свой Main-Template, где определено page.10

[globalVar = TSFE:fe_user|sesData|mobileversion=1]
  page.1.mobileversion = 1
[end]

Измените свой код:

10 = IMAGE
10.file.XY = 1328,768
10.file.width = 1000
10.file.width.override = 500
10.file.width.override.if.isTrue.data = REGISTER:mobileversion 
10.file.height = 1000
10.file.height.override = 500
10.file.height.override.if.isTrue.data = REGISTER:mobileversion 
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
[...snip...]

Конечно, не проверено, но оно должно работать даже с TemplaVoila.

Если вы используете GIFBUILDER.IMAGE-Object (потому что вы используете 10.file.XY) вам нужно изменить код следующим образом:

10 = IMAGE
10.file.XY = 1328,768
10.file.XY.override = 600,300
10.file.XY.override.if.isTrue.data = REGISTER:mobileversion 
10.file.import = uploads/tx_templavoila/
10.file.import.current = 1
10.file.import.listNum = 0
[...snip...]

Но я думаю, вы перепутали GIFBUILDER.IMAGE и IMAGE.

Такие условия ([global] и т.д.) пока не работают в структурах данных ТВ.

Но вы можете обойти это, используя константы, которые вы "вводите" в структуру данных в сочетании с stdWrap условия.

Вы можете установить ТВ-константы в вашей обычной настройке TypoScript следующим образом:

plugin.tx_templavoila_pi1.TSconst.ismobile = hellno

Здесь вы также можете использовать условия, конечно:

plugin.tx_templavoila_pi1.TSconst.ismobile = hellno
[globalVar = TSFE:fe_user|sesData|mobileversion=1]
plugin.tx_templavoila_pi1.TSconst.ismobile = yo
[global]

Теперь при обработке данных TypoScript вашего телевизионного поля вы можете сделать это:

10 = COA

10.10 = IMAGE
10.10 {
    # Your regular image

    stdWrap.if {
        value = {$TSconst.ismobile}
        equals = hellno
    }
}

10.20 = IMAGE
10.20 {
    # Image for mobile version

    stdWrap.if {
        value = {$TSconst.ismobile}
        equals = yo
    }
}

Несколько заметок / вопросов:

  • Я не уверен, 20 даже обрабатывается в телевизионном поле. Я думаю, что это только ищет 10,
  • Почему вы вообще используете timthumb? Почему не другой IMAGE объект контента?
  • Затем взгляните на IMG_RESOURCE, Это позволяет вам работать только с URL-адресом изображения вместо целого тега элемента. Позже может быть легче обернуть это вокруг, чем с RECORDS вещи у вас там.

Отказ от ответственности: не проверял выше, так что остерегайтесь опечаток или подобных вещей. (Я, конечно, использовал метод в проектах.)

В приведенном ниже сообщении от Дмитрия Дулопьева, в то время как пару лет назад рассказывается о том, как вы можете использовать Templa Voilla для добавления мобильного шаблона. Это то, что вы были после?

http://www.dmitry-dulepov.com/2009/04/creating-mobile-version-of-web-site.html

Другие вопросы по тегам