【发布时间】:2014-08-20 19:36:05
【问题描述】:
我正在学习使用 Slim 框架和 Twig。我想知道是否有可能使模板具有多种用途。
考虑一下;我想制作一个表格来为客户添加工作,如果您通过“工作/新”路线访问,它将输出一个客户选择列表,以选择该工作的目标客户。
但是,如果您通过 'job/new/:id' 路由访问,它将呈现相同的模板,但只有 'id' 值对应的客户端。
{% 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 以在第二条路由上选择客户端,或者,创建一个不使用选择的不同模板,只将单个客户端发送给它.
谢谢
【问题讨论】:
-
::find('all')和::find($id)的结果是什么?第一个是数组没问题,但第二个不只是“单个元素”? -
啊,今天早上傻了。 $data['clients'] = array(Client::find($id)) ;将允许我这样做。这肯定不漂亮。谢谢你叫醒我格里菲尔德。
-
正是我想要的建议,没有问题。 :)
-
你想回答吗,我会接受你的回答。你推我到它。 ;)
-
好的,谢谢! (这也是我的想法。:))
标签: php templates twig slim phpactiverecord