首页 > 解决方案 > TYPO3 10.4.12 optionSplit in IMAGE srcset

问题描述

在我的 TypoScript 对象中,optionSplit 失败。srcset 中总是添加一个逗号,W3C 验证器说:元素 img 上属性 srcset 的值错误:以空图像候选字符串结尾。

这个 TypoScript 片段

        layoutKey = srcset
        layout {
          srcset {
            element = <img src="###SRC###" srcset="###SOURCECOLLECTION###" ###PARAMS### ###ALTPARAMS### ###SELFCLOSINGTAGSLASH###>
            source = ###SRC### ###SRCSETCANDIDATE###,|*|###SRC### ###SRCSETCANDIDATE###,|*|###SRC### ###SRCSETCANDIDATE###
          }
        }

结果是

<img src="/storage/shared/hochschule/labels/swissuniversities-logo.png"
  srcset="
    /storage/_processed_/5/6/csm_swissuniversities-logo_685d915ef8.png 687w,
    /storage/_processed_/5/6/csm_swissuniversities-logo_57966614b3.png 436w,
    /storage/_processed_/5/6/csm_swissuniversities-logo_74d43a23bf.png 255w," 
  class="image-embed-item img-fluid" 
  sizes="(max-width: 767px) 687px, (min-width: 768px) and (max-width: 991px) 436px, (min-width: 992px) 255px" alt="">

这是一个错误吗?

标签: typo3typo3-10.x

解决方案


Optionsplit 只有三个值(每个级别)。主层的分离是通过|*|,第二层的分离是||。由于默认的换行分隔是|,如果您错过一些空格,您可能会感到困惑。特别是如果包裹的一侧是空的。

由于可以删除值,因此只能使用一个分隔符,但不能包含更多值。您也可以完全省略|*|分隔符,只使用二级分隔符||

第一个(在第一个分隔符之前)或仅“正常”包装是开始,然后是中间部分。在第二个分隔符之后是结束部分。

如果在整个包装周围还有分隔符的情况下使用optionSplit包装,则会产生更多的混乱。所以要小心你的分隔符和空格。.noTrimWrap|


推荐阅读