Lección 17: CRUD Configuración
Básicamente se trata de la implementación de métodos para agregar, editar o eliminar registro de una tabla. En configuración utilizaremos dos métodos
CONTROLLER
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Configuracion;
use Illuminate\Support\Str;
use Image;
class ConfiguracionController extends Controller
{
public function index(){
$registro = Configuracion::find(1);
return view("admin.configuracion.index",compact('registro'));
}
public function update(Request $r,$id){
$registro = Configuracion::findOrFail($id);
$registro->fill($r->all());
$logo_anterior = $registro->urllogo;
$favicon_anterior = $registro->urlfavicon;
$foto_anterior = $registro->seo_urlfoto;
if($r->hasFile('seo_urlfoto')){
$rutaAnterior = public_path('/img/configuracion/'.$foto_anterior);
if(file_exists($rutaAnterior)){ unlink(realpath($rutaAnterior)); }
$imagen = $r->file('seo_urlfoto');
$nuevonombre = Str::slug($r->razonsocial).'.'.$imagen->guessExtension();
Image::make($imagen->getRealPath())
->resize(850,null,function($constraint){ $constraint->aspectRatio(); })
->save( public_path('/img/configuracion/'.$nuevonombre));
$registro->seo_urlfoto = $nuevonombre;
}
if($r->hasFile('urlfavicon')){
$rutaAnterior = public_path('/img/configuracion/'.$favicon_anterior);
if(file_exists($rutaAnterior)){ unlink(realpath($rutaAnterior)); }
$imagen = $r->file('urlfavicon');
$nuevonombre = Str::slug($r->razonsocial).'_favicon.'.$imagen->guessExtension();
Image::make($imagen->getRealPath())
->resize(16,null,function($constraint){ $constraint->aspectRatio(); })
->save( public_path('/img/configuracion/'.$nuevonombre));
$registro->urlfavicon = $nuevonombre;
}
if($r->hasFile('urllogo')){
$rutaAnterior = public_path('/img/configuracion/'.$logo_anterior);
if(file_exists($rutaAnterior)){ unlink(realpath($rutaAnterior)); }
$imagen = $r->file('urllogo');
$nuevonombre = Str::slug($r->razonsocial).'.'.$imagen->guessExtension();
Image::make($imagen->getRealPath())
->resize(200,null,function($constraint){ $constraint->aspectRatio(); })
->save( public_path('/img/configuracion/'.$nuevonombre));
$registro->urllogo = $nuevonombre;
}
$registro->save();
return redirect()->route('configuracion.index');
}
}
VISTAS
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<div class="row">
@include('admin.submenu')
<div class="col-sm-10">
{!! Form::open(['route'=>['configuracion.update',$registro],'method'=>'PUT','files'=>true]) !!}
<div class="jumbotron">
<div class="form-group">
<label for="seo_title">INGRESE TITLE</label>
{!! Form::text('seo_title',$registro->seo_title,['class'=>'form-control','maxlength'=>'67']) !!}
</div>
<div class="form-group">
<label for="seo_description">INGRESE DESCRIPTION</label>
{!! Form::textarea('seo_description',$registro->seo_description,['class'=>'form-control','maxlength'=>'155','rows'=>'3']) !!}
</div>
<div class="form-group">
<label for="seo_urlfoto">IMAGEN DESTACADA</label> <br>
<img src="/img/configuracion/{{$registro->seo_urlfoto}}">
{!! Form::file('seo_urlfoto') !!}
</div>
</div>
<div class="form-group row">
<div class="col-sm-3">
<label for="colorPrimario">COLOR PRIMARIO</label>
{!! Form::text('colorPrimario',$registro->colorPrimario,['class'=>'form-control','maxlength'=>'7']) !!}
</div>
<div class="col-sm-9">
<label for="urlfavicon">FAVICON</label> <br>
<img src="/img/configuracion/{{$registro->urlfavicon}}">
{!! Form::file('urlfavicon') !!}
</div>
<div class="col-sm-3">
<label for="colorsecundario">COLOR SECUNDARIO</label>
{!! Form::text('colorsecundario',$registro->colorsecundario,['class'=>'form-control','maxlength'=>'7']) !!}
</div>
<div class="col-sm-9">
<label for="urllogo">LOGO</label> <br>
<img src="/img/configuracion/{{$registro->urllogo}}">
{!! Form::file('urllogo') !!}
</div>
</div>
<div class="form-group row">
<div class="col-sm-6">
<label for="slogan">SLOGAN</label>
{!! Form::text('slogan',$registro->slogan,['class'=>'form-control','maxlength'=>'100']) !!}
</div>
<div class="col-sm-6">
<label for="frase_1">FRASE 1</label>
{!! Form::text('frase_1',$registro->frase_1,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-6">
<label for="frase_2">FRASE 2</label>
{!! Form::text('frase_2',$registro->frase_2,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-6">
<label for="frase_3">FRASE 3</label>
{!! Form::text('frase_3',$registro->frase_3,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
</div>
<div class="form-group row">
<div class="col-sm-3">
<label for="razonsocial">RAZÓN SOCIAL</label>
{!! Form::text('razonsocial',$registro->razonsocial,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-3">
<label for="direccion">DIRECCIÓN</label>
{!! Form::text('direccion',$registro->direccion,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-3">
<label for="celular">CELULAR</label>
{!! Form::text('celular',$registro->celular,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-3">
<label for="email">EMAIL</label>
{!! Form::text('email',$registro->email,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-3">
<label for="facebook">FACEBOOK</label>
{!! Form::text('facebook',$registro->facebook,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
<div class="col-sm-3">
<label for="youtube">YOUTUBE</label>
{!! Form::text('youtube',$registro->youtube,['class'=>'form-control','maxlength'=>'50']) !!}
</div>
</div>
{!! Form::submit('GUARDAR',['class'=>'btn btn-success']) !!}
{!! Form::close() !!}
</div>
</div>
</div>
@endsection
1469 visitas