如何在PHP中使用phalcon变量?

时间:2015-08-05 14:20:35

标签: php phalcon

我在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&eacute;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元素的选定元素?

3 个答案:

答案 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模板代码。