我是编程新手,我找不到答案,或者我根本不理解答案。
无论哪种方式,这都是我的代码。我怎么能改变它,以便它不使用6或_语句?
{if $smarty.server.REQUEST_URI == '/home-product.php?id_product=1'
OR $smarty.server.REQUEST_URI == '/home-product.php?id_product=2'
OR $smarty.server.REQUEST_URI == '/home-product.php?id_product=3'
OR $smarty.server.REQUEST_URI == '/home-product.php?id_product=4'
OR $smarty.server.REQUEST_URI == '/home-product.php?id_product=5'
OR $smarty.server.REQUEST_URI == '/home-product.php?id_product=6'}
答案 0 :(得分:1)
在我看来,你不应该在Smarty做这样的事情。您应该使用例如in_array
在PHP中执行此操作。 Smarty仅用于显示数据而不用于此类比较。
你也可以使用Smarty语法:
{assign var="test" value ="5"}
{if in_array($test, array(1,2,5,8))}
is in array
{else}
is not in array
{/if}
修改强>
在这种情况下,它很简单:
{if in_array($smarty.server.REQUEST_URI,
array(
'/home-product.php?id_product=1',
'/home-product.php?id_product=2',
'/home-product.php?id_product=3',
'/home-product.php?id_product=4',
'/home-product.php?id_product=5',
'/home-product.php?id_product=6'
))}
is in array
{else}
is not in array
{/if}
答案 1 :(得分:0)
$num = substr($smarty.server.REQUEST_URI, -1);
if ($num > 0 AND $num < 7) { /* TRUE */ }
显然这是PHP,而不是Smarty语法。
答案 2 :(得分:0)
您可以直接在Smarty中访问GET变量。
{if in_array($smarty.get.id_product, range(1,6))}
is in array
{else}
is not in array
{/if}