Quickedit aus Grid

Posted in Laravel, Laravelpanel, 29.01.2017 21:01

1. Template anpassen

Wenn im Grid Tags eingebaut werden müssen, muß das im vendor/serverfireteam/rapyd-laravel/views/datagrid.blade.php passieren.

Wenn dieses Template hierhin resources/views/vendor/panelViews/datagrid.blade.php kopiert wird (wo alle anderen panel-templates liegen) wird es ignoriert!

 @if (in_array($cell->name, ['title','name']))
                    <a href="{!! url('panel/'.$current_entity.'/edit') !!}?modify={!! $row->data->id !!}">{!! $cell->value !!}</a>
                    @elseif ($cell->name == 'published')
                    <a href="{!! url('panel/'.$current_entity.'/togglePublished') !!}?id={!! $row->data->id !!}">{!! $cell->value !!}</a>
                    @else 
                    {!! $cell->value !!}
                    @endif

 2. Controller Methode

 public function togglePublished($entity)
    {
        $id = \Request()->query('id');
        Models\blog_posts::updatePublished($id);
        return redirect('panel/blog_posts/all');
    }

3. Model Methode

    public static function updatePublished($id)
    {
        $row = self::find($id);
        $row->published == 1 ?  $row->published = 0 : $row->published = 1 ;
        $row->save();
    }