0

$test_que_order在我的 smarty 模板中命名了一个变量。它从 PHP 文件中分配了一个整数值。现在,在进一步操作期间,我在 URL 中传递了这个变量的值。在传递价值的同时,我将它减一。实际上,它预计会使价值减少一,但实际上并没有发生。我不明白为什么会这样?任何人都可以在这方面帮助我吗?任何帮助将不胜感激。供您参考,我将我的 smarty 模板代码如下代码所示。请让我知道我做错了什么或者问题是其他不同的。提前致谢。

<input id="previous" class="c-btn" type="button" name="previous" value="Previous" onclick="javascript:window.location.href='{$control_url}modules/tests/manual_test_questions.php?op=previous&test_id={$test_id}&test_no_questions={$question_count}&test_que_order={$test_que_order - 1}'" {if $test_que_order == 1} disabled="disabled" {/if}/>

如果您需要任何进一步的信息,我可以为您提供相同的信息。

4

1 回答 1

1

您的代码将递增 1 的变量值附加到输出中,但不会更改变量的实际值。

您可以更改变量的值,例如:

{assign var=test_que_order value=$test_que_order-1}

或者这样:

{$test_que_order = $test_que_order-1}

(您应该在代码片段之前添加此解决方案,并-1从您的片段中删除。)

否则这里有一个建议:

http://www.smarty.net/docs/en/language.function.assign.tpl

模板中的变量分配本质上是将应用程序逻辑放入可能在 PHP 中更好处理的表示中。自行决定使用。

于 2013-11-10T11:32:35.390 回答