Как проверить, равна ли (строка) a (строка внутри массива)?Могу ли я проверить это с помощью оператора If? - PullRequest
0 голосов
/ 13 мая 2019

Я хочу проверить, соответствует ли строка одной из строк в массиве.

Возможно ли это с жидкостью TYPO3 или с vhs?

<f:if condition="{string} ?? {anArrayOfStrings}">
  <f:then>
    <p>Message</p>
  </f:then>
  <f:else>

  </f:else>
</f:if>

Заранее большое спасибо:)

Ответы [ 3 ]

0 голосов
/ 13 мая 2019

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.

0 голосов
/ 13 мая 2019

Я использовал 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>
0 голосов
/ 13 мая 2019

Fluid не имеет inArray ViewHelper по умолчанию, но VHS имеет (v:if.iterator.contains).См. https://fluidtypo3.org/viewhelpers/vhs/1.8.2/If/Iterator/ContainsViewHelper.html

Если вы хотите сделать это без VHS, вы можете создать собственный ViewHelper.Подробнее об этом вы можете узнать здесь https://www.andrerinas.de/tutorials/typo3-in-array-viewhelper.html (на немецком языке, но код должен быть достаточно понятным, даже если вы не понимаете по-немецки)

...