我希望有两种不同的图像尺寸:一种用于普通浏览器,另一种用于移动版本。我以为我可以用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]
但我总是从正常版本中获取图片。我试图使用会话变量,我也尝试使用用户函数。即使我删除了这个条件,输出总是一样的......(大图)。我做错了什么?
答案 0 :(得分:1)
TYPO3能够开箱即用。您不需要额外的脚本。
将它放在主模板中,其中第10页&lt; plugin.tx_templavoila定义为: page.1 = LOAD_REGISTER page.1.mobileversion = 0
[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。
答案 1 :(得分:0)
Dmitry Dulopev的以下文章虽然已有几年历史,但现在谈论如何使用Templa Voilla添加移动模板。这就是你追求的目标吗?
http://www.dmitry-dulepov.com/2009/04/creating-mobile-version-of-web-site.html
答案 2 :(得分:0)
这些条件([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
。IMAGE
cObject?IMG_RESOURCE
。它允许您只使用图像URL而不是整个元素标记。之后,你可能比用RECORDS
那些东西更容易包围你。免责声明:尚未测试以上内容,因此请注意拼写错误或类似的事情。 (我当然在项目中使用了这个方法。)