是否可以多用途Twig模板?

时间:2014-08-20 11:11:05

标签: php templates twig slim phpactiverecord

我正在学习使用Slim框架和Twig。我想知道是否有可能使用多功能模板。

考虑一下;我想创建一个表单来为客户添加工作,如果您通过' job / new' route它将输出一个客户的选择列表,以选择该作业所针对的客户端。

但是,如果您通过' job / new /:id'路由它将呈现相同的模板,但只有客户端,即#id;' value对应于。

        {% for client in clients %}
        <option value="{{ client.id }}">{{ client.name }}</option>
        {% endfor %}

以上将在我使用时起作用:

     $data['clients'] = Client::find('all');
     $app->render('job/new.html',$data);

但是,在我的其他路线中:

     $data['clients'] = Client::find($id);
     $app->render('job/new.html',$data);

因为只有1条记录似乎没有输出。我只是想节省拉动所有客户端和多用途相同的模板。

如果这不可能,我知道我可以拉出所有客户端并发送ID以在第二条路线上选择客户端,或者创建一个不使用select的不同模板,只需将单个客户端发送给它

由于

1 个答案:

答案 0 :(得分:1)

好的,我在这里发布了正确答案,而不仅仅是在评论中。

Client::find('all');返回一个元素数组,但Client::find($id);只给出一个元素。 如果要在迭代中使用相同的模板,则必须将结果放入如下数组中:$data['clients'] = array(Client::find($id));