我在controller
:
<?php
use Phalcon\Mvc\Controller;
class RestaurantreservationController extends Controller
{
public function indexAction(){
return $this->view->pick("reservation/listerReservation");
}
public function affecterReservTableAction($id) {
$this->view->action_form = 'affecterReservTableExec';
$this->view->titre = 'Réservation de table';
$this->view->table_code = $id; // here is the variable I want to manipulate
return $this->view->pick("reservation/reservTable");
}
}
?>
在视图reservTable.phtml
中,我想使用变量table_code
:
<div class="input-control select">
<select name="clt_id" id="clt_id">
<option value="">--Choisir une table--</option>
<?php
$table_code = {{table_code}}; // it generates an error
$tables = TableClient::lireParCritere([]);
foreach ($tables as $table) {
$select = ($table_code == $table->table_code ? "selected" : "" );
?>
<option <?php echo $select; ?> value="<?php echo $table->table_code; ?>"><?php echo $table->noms; ?></option>
<?php
}
?>
</select>
</div>
如何使用它来设置select
元素的选定元素?
答案 0 :(得分:3)
问题是,当您尝试将{{table_code}}
分配给$table_code
时,您正在混合使用phtml和Volt语法。
Volt变量{{ table_code }}
与$table_code
相同。
答案 1 :(得分:3)
如果您使用Phalcon,那么最好使用VOLT
创建Volt类型的模板时,您可以通过{{ table_code }}
如果你不循环,可以使用
之类的东西 {% for table in tables %}
//do something
{% endfor %}
Volt也有很好的功能来创建选择
{{ select("table", table_code, 'using': ['table_code', 'table_noms']) }}
答案 2 :(得分:0)
你在代码的下方正确使用了三行。在您尝试使用该变量时,您处于PHP模式。这意味着您只需编写PHP代码,即$table_code
。形式{{table_code}}
用于在VOLT模板内插值,而不是在PHP代码中使用。
我实际上建议将所有PHP块转换为VOLT模板代码。