我正在为内部开发团队设计一个小型CMS,每个团队都有与laravel
合作的经验。
CMS需要一个小的功能,其中列出的服务可以附加一个报价单。我不想创建一个完全独立的模块来单独添加元素和其他模块,我想让系统以开发人员添加laravel集体形式的代码的方式存在,该代码存储在数据库中。
在检索的同时,我们呈现表单服务器端。
这是我的实现方式
控制器
public function show($id)
{
$data['page'] = Service::where('slug', $id)->first();
if ($data['page']) {
....
$data['form'] = $data['page']->quoteform()->first();
....
在视图中
{!! $form['html'] !!}
但这绝对无济于事,所以我尝试了这种渲染集体形式的方法
$data['form'] = View::make('website.includes.render-form',['form'=>$data['page']->quoteform()->first()]);
但是我不确定是否应该这样做,因为我无法使其工作。
期待一种解决方案,如果我选择的方法是可能的,如果可以或可以做到的话,希望在同一方面了解更多信息。
TIA
编辑1:
我使用了以下刀片命令Blade::compileString('string here')
,在一定程度上有所帮助。
我得到以下结果的地方
答案 0 :(得分:0)
您可以使用render()
方法呈现视图的HTML。因此,您可以更新为:
$data['form'] = View::make('website.includes.render-form',
['form' => $data['page']->quoteform()->first()]
)->render();
现在$data['form']
将呈现HTML,如果您将{!! $data['html'] !!}
传递到主视图,则可以使用$data
在刀片中使用HTML。