2013-11-10 84 views
0

我在我的smarty模板中有一個名爲$test_que_order的可編程邏輯單元。它從PHP文件中分配了一個整數值。現在,在進一步的操作過程中,我將這個可擴展的值傳遞給一個URL。在傳遞價值的同時,我正在將其放棄。事實上,它預計會將價值減少一個,但實際上並沒有發生。我不明白爲什麼會發生這種情況?任何人都可以在這方面幫助我嗎?任何幫助將不勝感激。爲了您的參考,我將我的smarty模板代碼作爲下面的代碼,如下所示。請讓我知道我做錯了什麼,或者這個問題是另一回事。提前致謝。如何減少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}/> 

如果您需要更多信息,我可以爲您提供相同的信息。

回答

0

您的代碼會將變量值加1加到輸出中,但不會更改變量的實際值。

您可以更改變量的值,例如像這樣:

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

或者這樣說:

{$test_que_order = $test_que_order-1} 

(您應該將一小段代碼片段之前添加此解決方案,並刪除-1從你snipet。)

否則有一個建議在這裏:

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

的模板變量賦值基本上將應用 邏輯成可以在PHP中可以更好地處理演示。使用 您自己的判斷力。