gpt4 book ai didi

Smarty 'if' 语句语法

转载 作者:行者123 更新时间:2023-12-04 05:58:00 26 4
gpt4 key购买 nike

我根据名称中的字符数分配了一个变量,该变量返回一个整数(1、2、3 等)。如果选项名称与变量匹配,我想进一步添加一个 {if} 语句来显示一个选项。选项名称为 5"x 7"- 1, 5"x 7"- 2, 5"x 7"- 3 等等。

{assign var="numberofcharacters" value=$smarty.get.name|count_characters}

{if $vr.variant_name == '5" x 7" - $numberofcharacters' || $vr.variant_name == '8" x 11" - $numberofcharacters'}
...
{/if}

这不会产生结果,即使我有 3 个应该显示的选项。请有人让我知道我的 {if} 语句有什么问题吗?

我不能使用:
{if $vr.variant_name|contains:}

因为如果返回的值是 1,那么当我只需要包含 1 时,也会包含 10、11 和 12。

非常感谢

最佳答案

带有转义引号的 Smarty3:

{$numberofcharacters = 1}
{$var = "5\" x 7\" - {$numberofcharacters}"}
{$var}

或者
{$numberofcharacters = 1}
{$name = '5" x 7"'}
{$var = "{$name} - {$numberofcharacters}"}
{$var}

或 Smarty2
{assign var="numberofcharacters" value=1}
{assign var="name" value='5" x 7"'}
{assign var="var" value="`$name` - `$numberofcharacters`"}
{$var}

或使用 cat modifier
{assign var="numberofcharacters" value=1}
{assign var="name" value='5" x 7"'}
{assign var="var" value=$name|cat:" - "|cat:$numberofcharacters}
{$var}

把东西放在一起应该很容易……
{$numberofcharacters = 1}
{$five_seven = "5\" x 7\" - {$numberofcharacters}"}
{$eight_eleven = "8\" x 11\" - {$numberofcharacters}"}
{if $vr.variant_name == $five_seven || $vr.variant_name == $eight_eleven}

{/if}

但是……如果您有要检查的固定模式,您可能想改用正则表达式?或一个substr?
{$variant_name = '5" x 7" - 123'}
{if preg_match('/^5" x 7"|^8" x 11"/', $variant_name, $tmp)}
hello world
{/if}

(你应该在你的 PHP 中做类似的事情......)

关于Smarty 'if' 语句语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com