2015-12-27 126 views
3

因此,我正在構建一個組件,並希望能夠爲其綁定一個值或將其保留爲空。理想情況下,如果if語句可能帶有過濾器或某種類型的三元運算符,我希望這樣做。所以,我可以永遠使用這個沒有明確地傳遞一個date您是否可以有條件地將一個變量傳遞給Twig

{% if date is not defined %} 
    <input type='text' name="date" value="" class="form-control date-picker" /> 
    <input type='hidden' name="timezone" class="timezone" /> 
{% else %} 
    <input type='text' name="{{date.name | default("date")}}" value="{{ date.value | default("")}}" class="form-control date-picker" /> 
    <input type='hidden' name="timezone" class="timezone" /> 
{% endif %} 

這是醜陋的斷碼我結束了嘗試多個事以後。

我不能沒有給它一個價值date

$date = ''; 
return $this->render('ComponentBundle:Default:datepicker.html.twig',array(
      'date' => $date, 
     )); 

的錯誤,我得到加載組件時,我沒有通過date的觀點是

Variable "date" does not exist in ComponentBundle:Default:datepicker.html.twig at line 10 
+0

@ErenArdahan我是新來的PHP和symfony,但我沒有看到我如何使用會話?我只想在我看來有未定義的檢查。那可能嗎? – jackncoke

+0

我知道你沒有使用會話..我也不使用symfony ..我使用了試驗樹枝作爲一個軟件包..和一些原因,我停止使用它..其中一個原因是,它不支持會話..它似乎有一個錯誤,因爲你傳遞一個數組,並嘗試達到該數組像一個變量.. –

+0

@ErenArdahan所以你建議讓他們都有自己的變量? – jackncoke

回答

1

無法有條件地傳遞變量,但你可以設置和測試樹枝內的一些變量。例如:

{% set var_date = date is defined and date is not empty ? date : {'name': 'date', 'value': ''} %} 

<input type='text' name="{{ var_date.name }}" value="{{ var_date.value }}" class="form-control date-picker" /> 
<input type='hidden' name="timezone" class="timezone" /> 
相關問題