I found the solution...
Is a little complicated to explain here but I'm going to do my best.
Try this:
default template (default.blade.php)
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<div class="fluid-container">
@yield('main')
</div>
</body>
</html>
default content template (mypage.blade.php)
@extends('_layouts.default')
@section('main')
<div id="widget-grid">
<div class="row-fluid">
<article class="span12">
@include('_modules.mymodule')
</article>
</div>
</div>
@stop
module template (mymodule.blade.php)
We send some variables to the shared template widget
@extends('admin._partials.widget', array('widget' => array('title' => 'title', 'id' => 'some_id', 'style' => 'your: style')))
@section('wg_content')
<!-- Your widget content goes here -->
@overwrite
shared template (widget.blade.php)
Your title $widget['title']
Your id $widget['id']
Your style $widget['style']
<!-- content -->
@yield('wg_content')
The views directory tree would be:
views
_layouts
default.blade.php
_partials
widget.blade.php
_modules
mymodule.blade.php
page
mypage.blade.php
Now when you make the view from the controller you should call mypage.
The magic directive is @overwrite in the bottom of module template.
Now when you call the module, the system get the widget template and wrap mymodule, then add this to the page and finally wrap everything within default which is the main template.
This help you to share a template with others. I know you have question, ASK! XD