микрозаймы онлайн займы на карту займы по паспорту

Utilizando Form Macros 2

Olá, muitos já devem conhecer este diferencial do Laravel os “Form Macros“, mas acredito que também há várias pessoas que não os utilizam ainda, então gostaria de mostrar a facilidade de criá-los e sua utilidade.

Primeiramente crie um arquivo.

app/macros.php

No Conteúdo do Arquivo macros.php adicione.

<?php
//Fonte: http://blog.elenakolevska.com/restful-deleting-in-laravel/
Form::macro('delete',function($url, $button_label='Delete',$form_parameters = array(),$button_options=array()){

    if(empty($form_parameters)){
        $form_parameters = array(
            'method'=>'DELETE',
            'class' =>'delete-form',
            'url'   =>$url
            );
    }else{
        $form_parameters['url'] = $url;
        $form_parameters['method'] = 'DELETE';
    };

    return Form::open($form_parameters)
            . Form::submit($button_label, $button_options)
            . Form::close();
});

//Fonte: http://laravelsnippets.com/snippets/an-icon-link
Form::macro('iconLink', function($url, $title = null, $attributes = array(), $icon = null, $secure = null) {
  $url = url($url,NULL,$secure); 
  if (is_null($title) or $title === false) $title = $url; 
  return '<a href="'.$url.'"'.HTML::attributes($attributes).'><i class="'. $icon .'"></i> '. HTML::entities($title).'</a>'; 
});

Abra o arquivo

“/app/start/global.php”

e adicione a seguinte linha:

require app_path().'/macros.php';

Agora é só utiliza-los em seu Front-end:

{{Form::delete('resource/'. $model->id, 'Excluir')}}
#ou
{{Form::delete('resource/'. $model->id, 
                'Excluir',
                array('id'=>'the_form_id','class' => 'the-delete-form'),
                array('class'=>'the-delete-link')
                )}}

Obs: Javascript para confirmar a exclusão antes de efetivar a ação.

$(document).on('submit', '.delete-form', function(){
    return confirm('Deseja realmente excluir?');
});

Uso do Botao com Icone:

{{Form::iconLink('resource/'. $model->id . '/edit', 'Editar', array('class' => 'btn btn-info'), 'glyphicon glyphicon-edit') }}

Espero que este post seja útil a todos, Abraços.

Outros Exemplos:
http://laravelsnippets.com/snippets/bootstrap-3-form-macros
http://laravelsnippets.com/snippets/bootstrap-alert-macro

Documentação:
http://laravel.com/docs/html#custom-macros

  • http://www.marcelofabiano.com Marcelo Fabiano

    Ótimas dicas! Trabalho de forma parecida!!!
    mto bom =D
    Site pouco parado

  • Diego Felix

    Legal =)