Я хочу проверить, соответствует ли строка одной из строк в массиве.
Возможно ли это с жидкостью TYPO3 или с vhs?
<f:if condition="{string} ?? {anArrayOfStrings}"> <f:then> <p>Message</p> </f:then> <f:else> </f:else> </f:if>
Заранее большое спасибо:)
TYPO3 не имеет такого ViewHelper.Пожалуйста, используйте ViewHelper из EXT: vhs
https://fluidtypo3.org/viewhelpers/vhs/1.8.2/If/Iterator/ContainsViewHelper.html
{namespace v=FluidTYPO3\Vhs\ViewHelpers} <v:if needle="{string}" haystack="{anArrayOfStrings}"> <f:then> <p>Message</p> </f:then> <f:else> </f:else> </v:if>
Не знаю, будет ли это работать с f: than.Возможно, попробуйте v: than или than-Attribute этого ViewHelper.
Я использовал VHS "v: condition.string.contains".Работает:)
<v:condition.string.contains needle="{string}" haystack="{anArrayOfStrings}"> <f:then> Message </f:then> <f:else> </f:else> </v:condition.string.contains>
Fluid не имеет inArray ViewHelper по умолчанию, но VHS имеет (v:if.iterator.contains).См. https://fluidtypo3.org/viewhelpers/vhs/1.8.2/If/Iterator/ContainsViewHelper.html
v:if.iterator.contains
Если вы хотите сделать это без VHS, вы можете создать собственный ViewHelper.Подробнее об этом вы можете узнать здесь https://www.andrerinas.de/tutorials/typo3-in-array-viewhelper.html (на немецком языке, но код должен быть достаточно понятным, даже если вы не понимаете по-немецки)