【问题标题】:How to dynamically load/render Laravel Collective form?如何动态加载/渲染 Laravel Collective 表单?
【发布时间】:2019-02-23 16:02:56
【问题描述】:

我正在为内部开发团队设计一个小型 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'),这在一定程度上有所帮助。

我得到以下结果的地方

【问题讨论】:

    标签: laravel laravel-blade laravelcollective


    【解决方案1】:

    您可以使用render() 方法呈现视图的HTML。所以你可以更新到这个:

    $data['form'] = View::make('website.includes.render-form',
                        ['form' => $data['page']->quoteform()->first()]
                    )->render();
    

    现在$data['form'] 将呈现 HTML,如果您将 $data 传递到主视图,您可以使用 {!! $data['html'] !!} 在刀片中使用它。

    【讨论】:

    • 不行,不会把laravel集体表单代码渲染成html
    猜你喜欢
    • 2018-12-23
    • 1970-01-01
    • 2018-01-27
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多